本文主要是介绍爬虫中教你如何爬取自己喜欢博主所写文章标题及网址,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
每日分享:
怎么判断一个人是否合适呢?我觉得,一个合适的人会让你看到和得到全世界,而一个不合适的人会让你失去全世界
博主页面例如下:
1. 在该页面抓包,并找到如下包:
2. 复制它的网址url,观察每一页的网址,发现url的前面都一样,就最后的数字不同;并复制user-agent,请求为get请求。
3. 找到网页中的a标签(包括title和link),方便抓取标题和链接:
注意:本来应该40个结果,而text()之后有80个(如下图):(所以爬虫代码中列表索引为1,(0没有内容))
观察网址,不缺东西且是40个,没有问题:(爬虫代码中列表索引正常写为0即可)
源码如下:(博主博客页数决定循环数)
import requests
from lxml import etreei = 1
# 我访问的博主博客一共23页,观察每一页的网址发现前面都一样,就最后的数字不同
for i in range(24):url = 'https://yangyongli.blog.csdn.net/article/list/{}'.format(i)headers = {'user-agent': '填自己的user-agent内容'}response = requests.get(url, headers=headers)data = response.content# 去除注释(浏览器给你的内容会注释很多有用代码)data = data.decode().replace('<!--', '').replace('-->', '')html = etree.HTML(data)# 找到网页中的a标签(包括title和link)el_list = html.xpath('//*[@id="articleMeList-blog"]/div[2]/div/h4/a')# 输出一页有多少个print(len(el_list))# 每一页爬取的结果放到列表里data_list = []for el in el_list:data_list.append(el.xpath('./text()')[1])data_list.append(el.xpath('./@href')[0])# 写入txt文件中f = open('information.txt', 'a', encoding='utf-8')for j in data_list:f.write(j)f.close()print(data_list)
结果部分截图如下:
这篇关于爬虫中教你如何爬取自己喜欢博主所写文章标题及网址的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!