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