我怀疑这是一个简单的查询,但希望有人可以帮助我查询我在我正在尝试构建的刮刀中使用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
答案 0 :(得分:1)
CSS选择器可以选择具有href属性的元素。 a[href]
但他们无法自行提取属性值。
从cssselect获得元素后,您可以使用next_link.get('href')
获取属性的值。
答案 1 :(得分:1)
link = link.attrib['href']
应该有效