wap 网站 开发,环境影响评价工程师,登录企业邮箱入口,网站一个多少钱文章目录 写在最前步骤打开chrome浏览器#xff0c;登录网页按pagedown一直往下刷呀刷呀刷#xff0c;直到把自己所有的博文刷出来然后我们按F12#xff0c;点击选取元素按钮然后随便点一篇博文#xff0c;产生如下所示代码然后往上翻#xff0c;找到头#xff0c;复制然… 文章目录 写在最前步骤打开chrome浏览器登录网页按pagedown一直往下刷呀刷呀刷直到把自己所有的博文刷出来然后我们按F12点击选取元素按钮然后随便点一篇博文产生如下所示代码然后往上翻找到头复制然后到编辑器里粘贴然后保存文件为export.html用vscode格式化撰写python代码parse.py将export.html恢复之前的格式执行解析代码查看articles.json文件 本篇文章就告一段落了如有兴趣可以看我下一篇文章我们基于本篇文章得到的结果获取每篇CSDN博文质量分并按质量分由小到大排序 下一篇2. 获取自己CSDN文章列表并按质量分由小到大排序文章质量分、博文质量分
写在最前
一开始我想弄个python代码直接爬取https://blog.csdn.net/Dontla?typeblog页面的的所有已发布文章列表但是貌似爬不到也不知道是什么原因可能是大佬做了限制不让爬。。。
并非做了限制可以看这篇博客如何批量查询自己的CSDN博客质量分
我只能想其他办法了
后来想到一个办法既然不让爬就自己手工拷贝吧这还是能做到的。
步骤
打开chrome浏览器登录网页
https://blog.csdn.net/Dontla?typeblog 按pagedown一直往下刷呀刷呀刷直到把自己所有的博文刷出来 刷完老费劲了
然后我们按F12点击选取元素按钮 然后随便点一篇博文产生如下所示代码
这里每一个article开头的都我们刚刚刷出来的一篇博文 然后往上翻找到头复制
找到这个div data...的头然后点击右键选择复制复制–复制outerHTML 然后到编辑器里粘贴然后保存文件为export.html 用vscode格式化
格式化之后就很清晰了每个article标签就是我们的一篇博文我们就是要对每个article标签内的内容实行抓取 撰写python代码parse.py
求助最强大脑 我有一个export.html文件里面有很多个article标签每个标签内容大致如下 article data-v-6fe2b6a7 data-v-bb5f5e3e classblog-list-boxa data-v-6fe2b6a7hrefhttps://dontla.blog.csdn.net/article/details/132237839 target_blankdata-report-click{quot;spmquot;:quot;3001.5502quot;} data-report-queryspm3001.5502div data-v-6fe2b6a7 classblog-img-boximg data-v-6fe2b6a7srchttps://img-blog.csdnimg.cn/3b61264764cb43f8ad91b6b5b7e4e65e.png alt classcourse-img/divdiv data-v-6fe2b6a7 classlist-box-contdiv data-v-6fe2b6a7div data-v-6fe2b6a7 classblog-list-box-toph4 data-v-6fe2b6a7python虚拟环境venv安装报错error: invalid command ‘bdist_wheel‘需要在虚拟环境中安装wheel包pip installwheel/h4/divdiv data-v-6fe2b6a7 classblog-list-content是一个Python的打包工具用于构建和安装Python软件包。包然后再安装之前安装报错的包。在虚拟环境中运行以下命令安装。这个错误通常是由于缺少。/div/divdiv data-v-6fe2b6a7 classblog-list-footerdiv data-v-6fe2b6a7 classblog-list-footer-leftdiv data-v-6fe2b6a7 classarticle-type article-type-yc原创/div !---- !---- !----div data-v-6fe2b6a7 classview-time-box发布博客nbsp;2 小时前nbsp;·/divdiv data-v-6fe2b6a7 classview-num-boxspan data-v-6fe2b6a7 classview-num6spandata-v-6fe2b6a7 classtwo-pxnbsp;阅读nbsp;·/span/span/divdiv data-v-6fe2b6a7 classgive-like-boxspan data-v-6fe2b6a7 classgive-like-num0spandata-v-6fe2b6a7 classtwo-pxnbsp;点赞nbsp;·/span/span/divdiv data-v-6fe2b6a7 classcomment-boxspan data-v-6fe2b6a7 classcomment-num0spandata-v-6fe2b6a7 classtwo-pxnbsp;评论nbsp;·/span/span/divdiv data-v-6fe2b6a7 classcomment-boxspan data-v-6fe2b6a7 classcomment-num0spandata-v-6fe2b6a7 classtwo-pxnbsp;收藏/span/span/div/div !----/div/div/a/article我需要你用python帮我遍历这个文件然后将每个article中的内容提取出来做成一个json文件每个文章提取为一个数组元素数组元素中要有以下字段article_url字段classblog-list-box后面那个、article_title字段classblog-list-box-top后面那个、article_typeclassarticle-type article-type-yc后面那个
根据最强大脑给出的结果我再删删改改得出了这样一个代码
parseHtml.py
from bs4 import BeautifulSoup
import json# 读取HTML文件
with open(export.html, r, encodingutf-8) as f:html f.read()# 创建BeautifulSoup对象
soup BeautifulSoup(html, html.parser)# 遍历article标签
articles []
for article in soup.find_all(article):# 提取字段内容article_url article.find(a)[href]article_title article.find(h4).textarticle_type article.find(class_article-type).text.strip()article_time article.find(class_view-time-box).text.strip().replace(发布博客, ).replace(·, ).strip()# 构造字典article_dict {article_url: article_url,article_title: article_title,article_type: article_type,article_time: article_time}# 添加到数组articles.append(article_dict)# 生成json文件
with open(articles.json, w, encodingutf-8) as f:json.dump(articles, f, ensure_asciiFalse, indent4)
代码解释使用BeautifulSoup库来解析HTML文件并使用json库来生成json文件。
将export.html恢复之前的格式
执行前我们先恢复原始格式因为我的vscode格式化之后貌似加入了很多无关的\n以及空格搞到后面解析结果不好了 我们把export.html文本恢复成这样 执行解析代码 执行python代码
python3 parse.py生成了articles.json文件。
查看articles.json文件
可以说结果非常的完美 [ { “article_url”: “https://dontla.blog.csdn.net/article/details/132237839”, “article_title”: “python虚拟环境venv安装报错error: invalid command ‘bdist_wheel‘需要在虚拟环境中安装wheel包pip install wheel”, “article_type”: “原创” }, { “article_url”: “https://dontla.blog.csdn.net/article/details/132212623”, “article_title”: “Docker可视化容器监控工具portainer.iodocker监控dockerDocker Standalone、Docker Swarm、Kubernetes、ACI、Nomad监控容器”, “article_type”: “原创” }, { “article_url”: “https://dontla.blog.csdn.net/article/details/132216588”, “article_title”: “FQDN是什么全限定域名Fully Qualified Domain Name主机名、次级域名、顶级域名”, “article_type”: “转载” }, { “article_url”: “https://dontla.blog.csdn.net/article/details/132178650”, “article_title”: “ubuntu python虚拟环境venv搭配systemd服务实战”, “article_type”: “原创” } ] 本篇文章就告一段落了如有兴趣可以看我下一篇文章我们基于本篇文章得到的结果获取每篇CSDN博文质量分并按质量分由小到大排序
下一篇2. 获取自己CSDN文章列表并按质量分由小到大排序文章质量分、博文质量分