文章采集软件app(selenium爬取流程安装自动模块,代理批量采集 )
优采云 发布时间: 2021-10-02 12:03文章采集软件app(selenium爬取流程安装自动模块,代理批量采集
)
Selenium 爬取过程
安装python selenium自动模块,使用selenium中的webdriver驱动浏览器获取cookies登录微信公众号后台;
使用webdriver功能需要安装相应的浏览器驱动插件
注意:谷歌浏览器版本和chromedriver需要对应,否则启动时会报错。
微信公众号登录地址:
微信公众号文章界面地址可以在微信公众号后台新建图文消息,可以通过超链接函数获取:
搜索公众号
获取要爬取的公众号的fakeid
选择要爬取的公众号,获取文章接口地址
文章列表翻页和内容获取
AnyProxy 代理批处理采集
1、 微信客户端:可以是安装了微信应用的手机,也可以是电脑中的安卓模拟器。
2、一个微信个人账号:为了采集内容,不仅需要一个微信客户端,还需要一个专用于采集的微信个人账号。
3、本地代理服务器系统:通过Anyproxy代理服务器将公众账号历史消息页面中的文章列表发送到自己的服务器。
4、文章列表分析入库系统,分析文章列表并建立采集队列,实现批量采集内容。
Fiddler 设置代理并抓包
通过捕获和分析多个帐户,您可以确定:
_biz:这个14位字符串是每个公众号的“id”,搜狗微信平台上有
uin:访客相关,微信ID
key:与被访问的公众号相关
步:
1、编写按钮向导脚本,自动点击手机公众号文章列表页,即“查看历史消息”;
2、利用fiddler代理劫持手机访问,将URL转发到本地php编写的网页;
3、将接收到的php网页上的URL备份到数据库中;
4、使用python从数据库中获取URL,然后进行正常爬取。
潜在问题:
如果只是抓取文章的内容,好像没有访问频率限制,但是如果要抓取阅读数和点赞数,达到一定频率后,返回就会变成一个空值。
付费平台
比如你只是想看清博的新榜,直接看每日榜就可以了,不需要花钱。如果你需要连接到你自己的系统,他们还提供了一个api接口。
3个项目步骤
3.1 基本原理
目标抓取网站收录拥有微信平台文章上大部分优质微信公众号,会定期更新。经过测试,发现它对爬虫更加友好。
1、网站 页面布局和排版规则,不同公众号通过链接中的账号区分
2、公众号集合下的文章翻页也是有规律的:id号每翻页+12
所以流程的想法是
获取预查询微信公众号ID(不是直接显示的名字,而是信息卡中的ID号,通常由数字和字母组成)
请求一个html页面判断公众号是否被更改收录
如果没有收录,页面显示结果为:404页面不存在,直接用正则表达式匹配提示信息即可
正则匹配,求目标公众号最大收录文章页数
解析请求页面,提取文章链接和标题文本
保存信息提取结果
调用pdfkit和wkhtmltopdf转换网页
3.2环境
win10(64位)
*敏*感*词*(蟒蛇3.6)
安装转换工具包 wkhtmltopdf
要求
pdfkit
3.3 公众号信息检索
向目标url发起requset请求获取页面的html信息,然后调用正则方法匹配两条信息
1、有没有公众号?
2、如果存在,最大文章收录页数是多少
当公众号存在时,直接调用request解析目标请求链接。
注意目标爬虫网站一定要加headers,否则直接拒绝访问
3.4 常规分析,提取链接和文章标题
以下代码用于从html文本中解析出链接和标题文本信息
3.5自动跳转到页面
下面的代码通过循环递增赋值来改变url中的页码参数
3.6 去除标题中的非法字符
因为windows下的file命令,有些字符不能用,所以需要使用正则消除
itle = re.sub('[/:*?"|]','', info.loc[indexs]['title'])
3.7 将 html 转换为 PDF
使用pandas的read_csv函数读取爬取的csv文件,循环遍历“link”、“title”、“date”
然后调用pdfkit函数转换生成PDF文件
3.7 将 html 转换为 PDF
使用pandas的read_csv函数读取爬取的csv文件,循环遍历“link”、“title”、“date”
然后调用pdfkit函数转换生成PDF文件
3.8 生成的 PDF 结果
4 结果显示