我正在使用Python通过ScraperWiki创建一个刮刀,但是我遇到的结果有问题。我将我的代码基于ScraperWiki文档上的basic example,并且一切看起来非常相似,所以我不确定我的问题在哪里。对于我的结果,我得到了页面上的第一个文档标题/ URL,但是循环似乎有问题,因为它不会返回那个之后的剩余文档。任何建议表示赞赏!
import scraperwiki
import requests
import lxml.html
html = requests.get("http://www.store.com/us/a/productDetail/a/910271.htm").content
dom = lxml.html.fromstring(html)
for entry in dom.cssselect('.downloads'):
document = {
'title': entry.cssselect('a')[0].text_content(),
'url': entry.cssselect('a')[0].get('href')
}
print document
答案 0 :(得分:1)
您需要使用类a
迭代div
内的downloads
代码:
for entry in dom.cssselect('.downloads a'):
document = {
'title': entry.text_content(),
'url': entry.get('href')
}
print document
打印:
{'url': '/webassets/kpna/catalog/pdf/en/1012741_4.pdf', 'title': 'Rough In/Spec Sheet'}
{'url': '/webassets/kpna/catalog/pdf/en/1012741_2.pdf', 'title': 'Installation and Care Guide with Service Parts'}
{'url': '/webassets/kpna/catalog/pdf/en/1204921_2.pdf', 'title': 'Installation and Care Guide without Service Parts'}
{'url': '/webassets/kpna/catalog/pdf/en/1011610_2.pdf', 'title': 'Installation Guide without Service Parts'}