Scraperwiki Python循环问题

时间:2014-09-29 21:36:51

标签: python web-scraping css-selectors lxml scraperwiki

我正在使用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

1 个答案:

答案 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'}