网页抓取数据(如何通过xpath访问一个网站获取网页信息的信息打印出来)

优采云 发布时间: 2021-12-23 10:06

  网页抓取数据(如何通过xpath访问一个网站获取网页信息的信息打印出来)

  Xpath 通常用于抓取网页的过程中,根据 html 中标签的路径来过滤内容。今天我们就来看看如何通过xpath获取网页信息。这里的例子很简单,访问一个网站取回列表中的信息,打印出来,然后开始。

  准备

  在chrome浏览器中安装xpath helper插件

  

  如果无法访问chrome商店,可以在网上搜索chrome xpath helper插件并下载。将下载的文件拖放到 chrome 扩展程序中进行安装。安装完成后,您会在浏览器上看到一个小十字图标。这是xpath helper的启动图标,一键启动。启动后,你会看到一个浮动窗口

  

  可以分别输入xpath表达式和结果。

  这里需要用到python的两个组件requests和lxml,因为我用的是pycharm的ide工具,实现了一个虚拟的python环境,所以组件的安装需要在ide中操作。

  

  在首选项中选择要安装的组件。

  

  在弹出的窗口中搜索并选择要安装的组件。

  网站分析

  先打开一个你要爬取的网站,分析网站的内容。

  

  如上图所示,我们需要返回*敏*感*词*部分的列表,即需要访问的树结构的html标签。

  我们需要返回书单中的书名。这里,标题使用的标签是h4,下面的链接使用a,这里使用text()返回a中的内容

  //h4/a/text()

  当我们通过xpath helper输入xpath数据时,可以在右侧窗口中显示相应的内容。这可以证明我们的xpath是有效的。

  编码

  借助xpath,编码很容易,引入etree和requests,使用requests生成get请求,将返回的响应发送给etree进行xpath分析,最后打印结果。

  from lxml import etree

import requests

from fake_useragent import UserAgent

url = "https://www.qidian.com/rank/yuepiao?chn=21"

headers = {

"User-Agent": UserAgent().random

}

response = requests.get(url, headers=headers)

print(response.text)

e = etree.HTML(response.text)

names = e.xpath('//h4/a/text()')

print(names)

  完成工作,如果您愿意,可以转发。谢谢大家。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线