python使用XPath解析数据爬取起点小说网数据

 更新时间:2021年04月22日 15:31:29   作者:互联网老辛  
这篇文章主要介绍了python使用XPath解析数据爬取起点小说网数据,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下

1. xpath 的介绍

xpath是一门在XML文档中查找信息的语言

优点:

  • 可以在xml中找信息
  • 支持HTML的查找
  • 可以通过元素和属性进行导航

但是Xpath需要依赖xml的库,所以我们需要去安装lxml的库。

安装lxml库

我们先要安装lxml的库,直接在pycharm里安装即可:

XML的树形结构:

元素-元素-属性-文本

使用XPath选取节点:

  • nodename: 选取此节点的所有节点
  • /从根节点选择
  • // 从匹配选择的当前节点选择文档中的节点,而不考虑他们的位置
  • . 选择当前节点
  • .. 选择当前节点的父节点(此处是两个点,浏览器默认显示3个..)
  • /text() 获取当前路径下的文本内容
  • /@xxx 提取当前路径下标签的属性值

选取节点的表达式举例:

2. 爬取起点小说网

在浏览器中获取书名和作者测试

在谷歌里安装一个xpath的插件

在html中查找book-mid-info

我们要获取小说的名称: 也就是 //div[@class='book-mid-info']/h4/a/txt()

再加一个获取作者:

使用xpath获取起点小说网的数据

# 作者:互联网老辛
# 开发时间:2021/4/8/0008 8:24

import requests
from lxml import etree
url="https://www.qidian.com/rank/yuepiao"
headers={'user-agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3861.400 QQBrowser/10.7.4313.400'}
#发送请求
resp=requests.get(url,headers)
e=etree.HTML(resp.text) #类型转换,把str转变为class 'lxml.etree._ELement
print(type(e))
names=e.xpath('//div[@class="book-mid-info"]/h4/a/text()')
authors=e.xpath('//p[@class="author"]/a[1]/text()')
print(names)
print(authors)
#名称和作者对应
for name,authors in zip(names,authors):
    print(name,":",authors)

以上就是python使用XPath解析数据爬取起点小说网数据的详细内容,更多关于python XPath解析数据爬取起点小说网的资料请关注脚本之家其它相关文章!

相关文章

  • python 8种必备的gui库

    python 8种必备的gui库

    这篇文章主要介绍了python 8种必备的gui库,帮助大家更好的进行python 开发,感兴趣的朋友可以了解下
    2020-08-08
  • 讲解Python中的标识运算符

    讲解Python中的标识运算符

    这篇文章主要介绍了讲解Python中的标识运算符,是Python学习当中的基础知识,需要的朋友可以参考下
    2015-05-05
  • 如何使用python的plot绘制loss、acc曲线并存储成图片

    如何使用python的plot绘制loss、acc曲线并存储成图片

    在数据可视化中曲线图是一种常见的展示数据趋势的方式,Python作为一种强大的编程语言,提供了丰富的数据处理和可视化库,使得绘制曲线图变得非常简单,下面这篇文章主要给大家介绍了关于如何使用python的plot绘制loss、acc曲线并存储成图片的相关资料,需要的朋友可以参考下
    2024-03-03
  • Django上线部署之IIS的配置方法

    Django上线部署之IIS的配置方法

    这篇文章主要介绍了Django上线部署之IIS的配置方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08
  • Python与xlwings黄金组合处理Excel各种数据和自动化任务

    Python与xlwings黄金组合处理Excel各种数据和自动化任务

    这篇文章主要为大家介绍了Python与xlwings黄金组合处理Excel各种数据和自动化任务示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪<BR>
    2023-12-12
  • Python使用functools实现注解同步方法

    Python使用functools实现注解同步方法

    这篇文章主要介绍了Python使用functools实现注解同步方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2018-02-02
  • python中的*与**用法示例详解

    python中的*与**用法示例详解

    这篇文章主要介绍了python中*与**用法的相关资料,Python中的*和**用于数值计算、序列解包、函数定义和调用,*用于乘法和解包序列,**用于乘方、解包字典和扩展字典,需要的朋友可以参考下
    2025-01-01
  • jupyter notebook 自定义python解释器的过程详解

    jupyter notebook 自定义python解释器的过程详解

    大家都知道jupyter notebook 网页版交互环境,类似于ipython,功能强大,这篇文章主要介绍了jupyter notebook 自定义python解释器的过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-10-10
  • 详解python中xlrd包的安装与处理Excel表格

    详解python中xlrd包的安装与处理Excel表格

    python处理Excel常用到的模块是xlrd。使用xlrd可以非常方便的处理Excel文档,下面这篇文章将给大家详细介绍python中包xlrd的安装与利用xlrd处理Excel表格的方法,有需要的朋友们可以参考学习,下面来一起看看吧。
    2016-12-12
  • python3 图片referer防盗链的实现方法

    python3 图片referer防盗链的实现方法

    本篇文章主要介绍了python3 图片referer防盗链的实现方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03

最新评论