Chrome复制的xpath抓取为空的问题
解决办法:去掉xpath中的tbody即可。原因:浏览器复制的xpath会自动优化,自己加上tbody,其实网页源代码里是没有的。
·
解决办法:去掉xpath中的tbody即可。
原因:浏览器复制的xpath会自动优化,自己加上tbody,其实网页源代码里是没有的。
贴个例子
import requests
from lxml import etree
header={'User-Agent': 'Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36'}
#豆瓣图书排行网站获取图书的名字
url='https://book.douban.com/top250'
r=requests.get(url,headers=header).content
#print(r)#cookies=Cookies
html=etree.HTML(r)
print(html)
#xpath 是从chrome 获得的 最后的@title 自己加的 ,获取图书的标题
#ids=html.xpath('//tr[@class="item"]')
#ids=html.xpath('//tr[@class="item"]/td/div/a/@title')
ids=html.xpath('//*[@id="content"]/div/div[1]/div/table[1]/tr/td[2]/div[1]/a/@title')
print(ids)
'''
for id in ids:
book_name = id.xpath('td/div/a/@title')
print(book_name)
'''
#//*[@id="content"]/div/div[1]/div/table[1]/tbody/tr/td[2]/div[1]/a
更多推荐
已为社区贡献1条内容
所有评论(0)