用lxml爬取一个网页的指定区域,为什么提取的信息还是整个网页的呢?

import requests
from lxml import etree
parser = etree.HTMLParser(encoding='utf-8')
html = etree.parse("http://www.tianqihoubao.com/",parser=parser)
print(html)
html=html.xpath('//*[@id="content"]/table[2]')
print(html[0])
aList= html[0].xpath("//a/@href")
for a in aList:
    print("http://www.tianqihoubao.com/"+a)

微信图片_20200409170004.png

近期想爬一下历年全国的天气信息,用lxml写了一段代码,通过xpath指定了页面中的table标签内的所有内容,然后想通过再次xpath把所有 a标签和 title标签提取出来,但是问题出现了,为什么每次提取的都是全页面的a标签信息呢?

阅读 1.6k
1 个回答

改为

".//a/@href"
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题