Scraperwiki刮取查询:使用lxml提取链接

时间:2012-07-09 17:59:19

标签: python-2.7 lxml scraper scraperwiki

我怀疑这是一个简单的查询,但希望有人可以帮助我查询我在我正在尝试构建的刮刀中使用lxml。

https://scraperwiki.com/scrapers/thisisscraper/

我正在逐行完成教程3并且到目前为止尝试提取下一页链接。我可以使用cssselect来识别链接,但我无法弄清楚如何只隔离href属性而不是整个锚标记。

有人可以帮忙吗?

def scrape_and_look_for_next_link(url):
    html = scraperwiki.scrape(url)
    print html
    root = lxml.html.fromstring(html) #turn the HTML into lxml object
    scrape_page(root)
    next_link = root.cssselect('ol.pagination li a')[-1]

    attribute = lxml.html.tostring(next_link)
    attribute = lxml.html.fromstring(attribute)

    #works up until this point
    attribute = attribute.xpath('/@href')
    attribute = lxml.etree.tostring(attribute)
    print attribute

2 个答案:

答案 0 :(得分:1)

CSS选择器可以选择具有href属性的元素a[href]但他们无法自行提取属性值。

从cssselect获得元素后,您可以使用next_link.get('href')获取属性的值。

答案 1 :(得分:1)

link = link.attrib['href']

应该有效