我用的是partnumber = get_txt(soup, 'Part Number')
,但有时零件号是复数零件号,这会破坏我的脚本。我怎样才能绕过这个问题,这样如果文本零件号匹配,那么我就可以get_txt
?你知道吗
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36'}
r = requests.get(urldet, headers=headers)
soup = BeautifulSoup(r.content, "lxml")
partnumber = get_txt(soup, 'Part Number')
下面是错误
Traceback (most recent call last):
in get_txt
key_tag = soup.find('span', text=key).parent
AttributeError: 'NoneType' object has no attribute 'parent'
我得到一个错误是有意义的,因为没有文本零件号,而是文本零件号,所以为了解决这个问题,我手动更改了我要查找的文本,但我希望避免手动操作。你知道吗
答案是regex。你知道吗
可以在
get_txt
函数中添加regex搜索文本。你知道吗你可以看到我把
text=key
改成了text=re.compile(key)
。它将Part Number
与Part Numbers
或任何其他包含Part Number
的文本匹配。你知道吗相关问题 更多 >
编程相关推荐