我已经创建了一个数组,其中包含所有可能的html标记,当运行该标记时,它将导航到目标字符串,或者什么都没有
group = ['div','span','a','link','dl','dt','dd','b','p','meta','']
comb = []
for g1 in group:
if g1 != '':
for g2 in group:
if g2 != '':
for g3 in group:
if g3 != '':
res = "tag."+g1+"."+g2+"."+g3+".string"
comb.append(res)
else:
res = "tag."+g1+"."+g2+".string"
comb.append(res)
else:
res = "tag."+g1+".string"
comb.append(res)
我想运行数组中的每个条目,查看它从给定网站返回的内容
def get_web_price(url):
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36'}
page = requests.get(url, headers=headers)
soup = BeautifulSoup(page.content, "lxml")
tag = soup.find(class_=re.compile("price"))
for c in comb:
exec(c, globals())
有没有一种方法可以像exec()
那样以代码的形式运行列表中的字符串?
我在Python3上使用BeautifulSoup、Requests、Googlesearch和Re
对于动态属性访问,您不需要
exec()
或eval()
使用getattr()
,或者在BeautifulSoup
的情况下,使用方法find()
获取与给定条件匹配的第一个子项:你也可以使用
select()
来限制同样的效果,我认为:至于刮掉谷歌搜索结果是不是一个好主意,我不偏袒任何一方
相关问题 更多 >
编程相关推荐