我试图从购物网站解析一系列视频游戏。但是因为项目列表全部存储在标签内。
据说,文档的This部分解释了如何解析文档的一部分,但我无法解决。我的代码:
from BeautifulSoup import BeautifulSoup
import urllib
import re
url = "Some Shopping Site"
html = urllib.urlopen(url).read()
soup = BeautifulSoup(html)
for a in soup.findAll('a',{'title':re.compile('.+') }):
print a.string
目前在任何标签中打印出一个非空标题引用的字符串。但它也在侧栏中引用了“特价”。如果我只能拿产品清单div,我会一石二鸟。
非常感谢。
答案 0 :(得分:10)
哦,我很傻,我正在搜索属性为id = products的标签,但它应该是product_list
如果有人来搜索话,那就是最后的代码。from BeautifulSoup import BeautifulSoup, SoupStrainer
import urllib
import re
start = time.clock()
url = "http://someplace.com"
html = urllib.urlopen(url).read()
product = SoupStrainer('div',{'id': 'products_list'})
soup = BeautifulSoup(html,parseOnlyThese=product)
for a in soup.findAll('a',{'title':re.compile('.+') }):
print a.string
答案 1 :(得分:0)
首先尝试搜索产品列表div
,然后搜索标题为a
的广告代码:
product = soup.find('div',{'id': 'products'})
for a in product.findAll('a',{'title': re.compile('.+') }):
print a.string