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


Posted in Python onApril 22, 2021

1. xpath 的介绍

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

优点:

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

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

安装lxml库

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

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

XML的树形结构:

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

元素-元素-属性-文本

使用XPath选取节点:

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

选取节点的表达式举例:

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

2. 爬取起点小说网

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

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

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

在html中查找book-mid-info

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

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

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

再加一个获取作者:

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

使用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 相关文章推荐
Python实现把utf-8格式的文件转换成gbk格式的文件
Jan 22 Python
从CentOS安装完成到生成词云python的实例
Dec 01 Python
Python实现的读写json文件功能示例
Jun 05 Python
python多进程实现文件下载传输功能
Jul 28 Python
Python Django框架单元测试之文件上传测试示例
May 17 Python
Python日志无延迟实时写入的示例
Jul 11 Python
Python中变量的输入输出实例代码详解
Jul 28 Python
Python学习笔记之函数的定义和作用域实例详解
Aug 13 Python
python super函数使用方法详解
Feb 14 Python
Python如何避免文件同名产生覆盖
Jun 09 Python
TensorFlow保存TensorBoard图像操作
Jun 23 Python
手把手教你从PyCharm安装到激活(最新激活码),亲测有效可激活至2089年
Nov 25 Python
python 实现德洛内三角剖分的操作
python 三边测量定位的实现代码
python如何读取.mtx文件
Apr 22 #Python
Python中tkinter的用户登录管理的实现
python爬虫之利用selenium模块自动登录CSDN
Python数据清洗工具之Numpy的基本操作
Python基础之Socket通信原理
You might like
php使用mb_check_encoding检查字符串在指定的编码里是否有效
2013/11/07 PHP
jscript之Open an Excel Spreadsheet
2007/06/13 Javascript
JavaScript 学习笔记(十六) js事件
2010/02/01 Javascript
filters.revealTrans.Transition使用方法小结
2010/08/19 Javascript
node-webkit打包成exe文件被360误报木马的解决方法
2015/03/11 Javascript
Bootstrap Paginator分页插件与ajax相结合实现动态无刷新分页效果
2016/05/27 Javascript
jQuery获取radio选中项的值实例
2016/06/18 Javascript
关于javascript中限定时间内防止按钮重复点击的思路详解
2016/08/16 Javascript
angularjs 源码解析之injector
2016/08/22 Javascript
详解基于webpack搭建react运行环境
2017/06/01 Javascript
jQuery实现鼠标响应式淘宝动画效果示例
2018/02/13 jQuery
vue 巧用过渡效果(小结)
2018/09/22 Javascript
JQuery插件tablesorter表格排序实现过程解析
2020/05/28 jQuery
Vue组件通信$attrs、$listeners实现原理解析
2020/09/03 Javascript
vue组件中传值EventBus的使用及注意事项说明
2020/11/16 Javascript
Javascript新手入门之字符串拼接与变量的应用
2020/12/03 Javascript
[47:03]完美世界DOTA2联赛PWL S3 access vs LBZS 第一场 12.20
2020/12/23 DOTA
Python抓取京东图书评论数据
2014/08/31 Python
Python 含参构造函数实例详解
2017/05/25 Python
python实现决策树、随机森林的简单原理
2018/03/26 Python
Python中的上下文管理器和with语句的使用
2018/04/17 Python
利用Python正则表达式过滤敏感词的方法
2019/01/21 Python
tensorflow使用CNN分析mnist手写体数字数据集
2020/06/17 Python
Move Free官方海外旗舰店:美国骨关节健康专业品牌
2017/12/06 全球购物
美国首屈一指的高品质珠宝设计师和零售商:Allurez
2018/01/23 全球购物
英国最出名高街品牌:Forever Unique
2018/02/24 全球购物
中专自我鉴定范文
2013/10/16 职场文书
求职者简历中的自我评价
2013/10/20 职场文书
高中学生会竞选演讲稿
2014/08/25 职场文书
离婚财产处理协议书
2014/09/30 职场文书
2014年综治维稳工作总结
2014/11/17 职场文书
2014年设计师工作总结
2014/11/25 职场文书
一年级语文上册复习计划
2015/01/17 职场文书
城管个人总结
2015/02/28 职场文书
python中 Flask Web 表单的使用方法
2022/05/20 Python
python数字图像处理之图像的批量处理
2022/06/28 Python