Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html Python-如何使用finditer正则表达式?_Html_Regex_Python 2.7 - Fatal编程技术网

Html Python-如何使用finditer正则表达式?

Html Python-如何使用finditer正则表达式?,html,regex,python-2.7,Html,Regex,Python 2.7,我想在一些HTML代码中找到img src=“([^”]+)”的每个实例,前面是div class=“grid”,后面是div class=“orderplacebut”,即我想找到名为“grid”的div容器中的所有图像 如果我使用findall,它将只返回一个图像,因为div class=“grid”在网页上只出现一次,因此它将只返回以下图像URL之一(有意义)。因此,我想迭代findall正则表达式,使其再次运行,并返回图像URL的第二个实例,然后返回第三个实例,依此类推。这是否可能使用f

我想在一些HTML代码中找到img src=“([^”]+)”的每个实例,前面是div class=“grid”,后面是div class=“orderplacebut”,即我想找到名为“grid”的div容器中的所有图像

如果我使用findall,它将只返回一个图像,因为div class=“grid”在网页上只出现一次,因此它将只返回以下图像URL之一(有意义)。因此,我想迭代findall正则表达式,使其再次运行,并返回图像URL的第二个实例,然后返回第三个实例,依此类推。这是否可能使用finditer,我将如何在代码中使用它

下面的代码是我的findall正则表达式,它只返回一个URL

from urllib import urlopen
from re import findall
import re

dennisov_url = 'https://denissov.ru/en/'
dennisov_html = urlopen(dennisov_url).read()

# Print all images between div class="grid" and div class="orderplacebut"
# Because the regex spans over several lines, use DOTALL flag to include
# every character between, including new lines

watch_image_urls = findall('<div class="grid".*<img src="([^"]+)".*<div class="orderplacebut"', dennisov_html, flags=re.DOTALL) 
print watch_image_urls
从urllib导入urlopen
从重新进口芬德尔
进口稀土
丹尼索夫https://denissov.ru/en/'
dennisov_html=urlopen(dennisov_url).read()
#打印div class=“grid”和div class=“orderplacebut”之间的所有图像
#因为正则表达式跨越多行,所以使用DOTALL标志包括
#之间的每个字符,包括新行

观察\u image\u url=findall(“实际上,使用另一种解析器方法(由于
.ru
域在此处被阻止而未测试):

import requests
from bs4 import BeautifulSoup

dennisov_url = 'https://denissov.ru/en/'
dennisov_html = requests.get(dennisov_url)
soup = BeautifulSoup(dennisov_html.text, 'lxml')

images = soup.select('div.grid > img')