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解析数据爬取起点小说网的资料请关注脚本之家其它相关文章!

相关文章

  • Flask模拟实现CSRF攻击的方法

    Flask模拟实现CSRF攻击的方法

    这篇文章主要介绍了Flask模拟实现CSRF攻击的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • python教程十行代码教你语音转文字QQ微信聊天

    python教程十行代码教你语音转文字QQ微信聊天

    QQ上面发的语音消息是可以直接文字识别的,但是微信为什么没有呢?是因为技术太难实现吗?这个很简单啊!今天给大家介绍一下语音转文字的原理
    2021-09-09
  • Python中turtle绘图模块的详细讲解

    Python中turtle绘图模块的详细讲解

    Turtle库是Python语言中一个很流行的绘制图像的函数库,下面这篇文章主要给大家介绍了关于Python中turtle绘图模块的相关资料,文中通过图文以及实例代码介绍的非常详细,需要的朋友可以参考下
    2022-02-02
  • python中的flask框架Jinja 模板入门教程

    python中的flask框架Jinja 模板入门教程

    这篇文章主要介绍了 python中的flask框架Jinja 模板入门,Jinja 模板其实是 html 文件,一般情况下放在 Flask 工程的 /templates 目录下,对python flask Jinja 模板相关知识感兴趣的朋友一起看看吧
    2022-04-04
  • 最新Python APScheduler 定时任务详解

    最新Python APScheduler 定时任务详解

    这篇文章主要介绍了Python使用apscheduler模块设置定时任务,APScheduler全称Advanced Python Scheduler 作用为在指定的时间规则执行指定的作业,本文对Python APScheduler 定时任务相关知识介绍的非常详细,需要的朋友参考下
    2022-05-05
  • 利用ImageAI库只需几行python代码实现目标检测

    利用ImageAI库只需几行python代码实现目标检测

    这篇文章主要介绍了利用ImageAI库只需几行python代码超简实现目标检测功能,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08
  • Python Flask实现快速构建Web应用的方法详解

    Python Flask实现快速构建Web应用的方法详解

    Flask是一个轻量级的Web服务器网关接口(WSGI)web应用框架,本文将和大家一起详细探讨一下Python Flask Web服务,需要的小伙伴可以学习一下
    2023-06-06
  • Django 实现购物车功能的示例代码

    Django 实现购物车功能的示例代码

    这篇文章主要介绍了Django 实现购物车功能的示例代码,实现了删除产品和显示购物车的一系列购物车的实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-10-10
  • 使paramiko库执行命令时在给定的时间强制退出功能的实现

    使paramiko库执行命令时在给定的时间强制退出功能的实现

    这篇文章主要介绍了使paramiko库执行命令时,在给定的时间强制退出,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • python中数组和列表的简单实例

    python中数组和列表的简单实例

    ,Python数据类型分为很多种,其中包括元组、字典、列表等,下面这篇文章主要给大家介绍了python中数组和列表使用的相关资料,以及python列表和Numpy数组的区别,需要的朋友可以参考下
    2022-03-03

最新评论