详解爬取搜狐号自媒体的所有文章

现在有很多自媒体平台 , 如头条号、搜狐号、大鱼号、百家号等 , 每个人都可以成为创作者发布自己的作品 。如果想把某个作者的文章都下下来 , 一篇一篇的下载会很麻烦 , 而用爬虫则会很简单 , 顺便还能练练手 。这里就以抓取规则比较比较简单的搜狐号来开到 。
工具
pycharm、Python3、PC
库 os、 re、BeautifulSoup、requests、json、urllib.parse
思路
入口URL进入 --> 获取文章地址 --> 获取图片地址 --> 下载文章与图片
注:主线思路很简单 , 但还是会遇到很多小问题
效果
开始
一、网站分析
1、先选定一个要爬取的自媒体账号 , 比如随便选的:
2、用fiddler或F12抓包 , 发现返回的数据包里面不包含连接 。这说明连接应该都放在在某个请求里面 , 而这个请求返回的是json格式 。
3、在请求列表里找 , 最终在这个里面看到了猫腻
用浏览器访问下试试 , 好多URL和title , 就是这个了!
4、在看他的地址结构 , pageNumber应该是第几页 , xpt是每个自媒体账号的唯一id , pageSize是一页显示多少条信息 。
5、点进一篇文章 , 发现文章内容在
标签内 
6、分析完成后 , 可以正式敲代码了 。
二、编码
1、先对输入的URL进行拆分 , 提取xpt
2、创建文件夹 , 存放爬取的资源
3、然后用pageNumber、xpt、pageSize拼接路径 , 获取保存URL的页面;将返回的数据转为json格式 , 解析地址;通过pageNumber自增 , 循环获取所有页面的地址 。
4、将信息保存到本地txt文件
5、遍历获取地址对应的文章内容和图片


6、效果如下


优化
【详解爬取搜狐号自媒体的所有文章】由于加了图片下载 , 单线程会比较慢 , 因此可考虑优化成 多线程 , 效率刚刚滴 。

    推荐阅读