大家好,作为一名互联网行业的小白,写博客只是为了巩固自己学习的知识,但由于水平有限,博客中难免会有一些错误出现,有不妥之处恳请各位大佬指点一二!
博客主页:链接: https://blog.csdn.net/weixin_52720197?spm=1018.2118.3001.5343
1,分析网页
打开网页搜索<新闻>——点击所需的内容
如何获取所需的内容呢?——右击检查——打开源代码
但是这样写的话,数据就太多了,所以我们要进行数据过滤,可以根据里面的相应的属性去过滤
用[@+属性]
想获取第一个数据
获取的是li中的第一个数据
获取a中的属性
注意
要过滤时:[@+属性]
要里面具体属性时:/@+属性
想获取具体的文本时:用text()即可
在html中
相对来说是比较少的,可以准确地定位
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210330102801158.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81MjcyMDE5Nw==,size_16,color_FFFFFF,t_70)
2.用Xpath写入python代码中
爬取图书的名称+作者
2.1导入包
from fake_useragent import UserAgent
import requests
from lxml import etree
2.2写url
url = 'https://www.qidian.com/rank/yuepiao'
用Xpath提取数据
# 图书名称
names = e.xpath('//div[@class="book-mid-info"]/h4/a/text()')
# 图书作者
authors = e.xpath('//p[@class="author"]/a[1]/text()')
具体代码如下:
from fake_useragent import UserAgent
import requests
from lxml import etree
url = 'https://www.qidian.com/rank/yuepiao'
header = {
'User-Agent': UserAgent().chrome}
resp = requests.get(url, headers=header)
# print(resp.text)
e =