因此,我已经尝试了几个小时来打印出所有<li id =List-commodity>
,其中每个li
都包含自己的数据。
HTML:
我从打印开始
li_tags = bs4.find_all('ul', {'id': 'commodity-lister-list'})
这给了我整个列表,这很好。之后,我尝试
different_ids = li_tags.find_all('li')
print(different_ids)
但是给我一个空值([])。
我在做错什么,如何才能将所有内容打印出来,以后再在for循环中应用?
答案 0 :(得分:2)
使用select
:
li_tags = bs4.select('ul[id=commodity-lister-list] li[id^=list-commodity-]')
答案 1 :(得分:1)
您可以使用re.compile
来匹配id
中出现的数字:
import re
li_tags = bs4.find('ul', {'id': 'commodity-lister-list'}).find_all('li', {'id':re.compile('list\-commodity-\d+')})
请注意,HTML id
是唯一的,因此,您可以使用bs4.find
而不是bs4.find_all
。