当前位置: 首页> 游戏> 手游 > 51这个网站还有吗_seo编辑是干什么的_杭州网络推广公司_搜索引擎营销的方法不包括

51这个网站还有吗_seo编辑是干什么的_杭州网络推广公司_搜索引擎营销的方法不包括

时间:2025/8/23 9:26:41来源:https://blog.csdn.net/qq_52313022/article/details/143375390 浏览次数:0次
51这个网站还有吗_seo编辑是干什么的_杭州网络推广公司_搜索引擎营销的方法不包括

引言

今天,我将分享如何使用Python的requestsparsel库来爬取CSDN博客的文章,并生成一个Markdown格式的链接列表导航页。
我在整理这个专栏Linux基础操作合集的文章合集时,发现想要给这个专栏的文章做个导航合集页很麻烦,虽然直接点进这个专栏就可以查看,不需要多此一举,但是我认为如果这个专栏文章非常多,那么整理出一个导航页的文章合集导航页就可以找到需要的文章而不用在专栏页里点击翻页一页一页的翻看了。
比如此时已经更新了26篇文章,
在这里插入图片描述
如果后面再添加很多篇,我的第一篇的目录信息又要修改
在这里插入图片描述
那么使用这个脚步就可以直接生成目录信息,复制粘贴到文章里即可。
在这里插入图片描述

环境准备

在开始之前,请确保你已经安装了Python环境以及以下库:

  • requests:用于发送HTTP请求。
  • parsel:用于解析HTML文档。

你可以通过以下命令安装这些库:

pip install requests parsel

代码解析

以下是爬取CSDN博客文章并生成Markdown链接列表的完整代码:

import requests
import parsel# 定义要爬取的目标网页
url = 'https://blog.csdn.net/qq_52313022/category_12812485.html'
# 设置请求头,模拟浏览器访问
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36 Edg/127.0.0.0'
}html_urls = []
all_urls = []
titles = []
all_titles = []# 循环遍历页面,爬取文章链接和标题
for page in range(1, 5):print(f'开始爬取第{page}页')# 根据页码生成链接if page == 1:link = urlelse:link = 'https://blog.csdn.net/qq_52313022/category_12812485_{}.html'.format(page)# time.sleep(1)# 发送 GET 请求获取网页内容response = requests.get(url=link, headers=headers)if response.status_code == 200:html = response.text# 使用 parsel 解析 HTML 内容url_selector = parsel.Selector(html)else:print('请求失败')break# 获取本页所有文章链接html_urls = url_selector.css('.column_article_list li a::attr(href)').getall()# 获取本页所有文章标题titles = url_selector.css(' div.column_article_title  h2::text').getall()titles = [title.strip() for title in titles]# 创建一个只保留非空标题的列表all_titles.extend(titles[i].replace(' ', '_') for i in range(len(titles)) if titles[i] != '')all_urls.extend(html_urls)print(f'第{page}页文章链接:{html_urls}')print(f'第{page}页文章标题:{titles}')print("所有文章链接:",all_urls)
print("所有文章标题:",all_titles)# 将 URL 和标题组合成 Markdown 超链接
markdown_links = []
for url, title in zip(all_urls, all_titles):markdown_links.append(f'[{title}]({url})')# 将超链接排序
markdown_links.sort()print("Markdown 超链接:",markdown_links)
# 写入 Markdown 文件
with open('output.md', 'w', encoding='utf-8') as f:for link in markdown_links:f.write(link + '\n')
print('============================================')
print("Markdown 超链接已成功写入 output.md 文件。")

代码说明

  1. 导入库:首先导入requestsparsel库。
  2. 设置目标URL和请求头:定义要爬取的CSDN博客页面,并设置请求头以模拟浏览器访问。
  3. 循环遍历页面:通过循环遍历指定的页面范围(这里是前4页)。
  4. 发送请求和解析HTML:对每个页面发送GET请求,并使用parsel解析HTML内容。
  5. 提取文章链接和标题:使用CSS选择器提取文章的链接和标题。
  6. 生成Markdown链接:将提取的链接和标题组合成Markdown格式的超链接。
  7. 写入文件:将生成的Markdown链接写入output.md文件。

结语

通过上述步骤,你可以轻松地爬取CSDN博客文章并生成Markdown链接列表。这不仅有助于信息整理,还可以作为学习Python网络爬虫的一个实用案例。希望这篇文章对你有所帮助!

关键字:51这个网站还有吗_seo编辑是干什么的_杭州网络推广公司_搜索引擎营销的方法不包括

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: