需要获取某个网页中表格部分中某个产品的成份
分析在html中成份的元素代码
<a href="/composition/4c3060178d1184935a48c4e51be4f63f.html">水</a>
用正则匹配,由于 4c3060178d1184935a48c4e51be4f63f是 变动的,也需要分组下,成分也是要分组的,因此正则的写法是:
r'<td class="td1">(.*?)">(.*?)</a></td>'
匹配用findall来找所有的,由于有2个分组,想要的成分保存在元组的index是1 所有代码中 item[1],就是要保存的内容
import requests
import re url='https://www.bevol.cn/product/68a3432166d24e22504d0b2b5262ea00.html'
response = requests.get(url)
html=str(response.content,'utf-8') compile = re.compile(r'<td class="td1">(.*?)">(.*?)</a></td>', re.I) # 不区分大小写 all = compile.findall(html)
for item in all:
print(item[1])
执行打印结果: