chrome伪装抓取微信公众号内容

chrome伪装抓取微信公众号内容

前一段时间一直在做微信公众号内容的获取
总结一下,有下面三种方法:

  1. chrome伪装抓取
  2. 内存获取方法
  3. selenium自动爬取法

这篇文章主要是来说明chrome伪装抓取。

抓取前,需要以下工具:

  1. proxifier+fiddle
  2. python
  3. chrome+chromedrive+selenium

proxifier+fiddle主要是用来对微信pc客户端进行抓包,获取cookie和UA,当然也可以通过fiddle抓取手机客户端,方法百度以下就行。

但是由于不想用手机,所以本文采用的是pc端抓包,实现,具体搭建过程,可以参照这位大佬的

点击

然后就是对于微信内置浏览器的模仿了。

第一步,打开需要抓取的微信公众号的,点击历史消息

2019-03-18 (7)_LI

第二步是通过proxifier+fiddle,抓包。

2019-03-18 (9)_LI

第三步,点击上图的标签,然后如下图

2019-03-18 (10)_LI

第四步,将复制的东西填进notepad

2019-03-18 (12)

第五步,将user-agent:的内容填入下面的框中。

2019-03-18 (16)_LI

之后点检console,输入document.cookie=”你保存在notepad的cookie”

之后,将第二步点击的url输入chrome中看到类似下图,上面过程,就没有毛病。

2019-03-18 (20)_LI

最后就是selenium+chrome+chromedrive+python大显神威了。

至于上面如何用,请自行百度,教程很多。

代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
from selenium import webdriver
from time import sleep
import os
def get_hs(sttr):
final="https://mp.weixin.qq.com/mp/profile_ext?action=getmsg&__biz=MjMg==&f=json&offset="+sttr+"&count=10&is_ok=1&scene=124&uin=MTMzMDMzODQ2NQ%3D%3D&key=970da011e72185&pass_ticket=vW0nGGs8YUzuiaGx5Zn71&wxtoken=&appmsg_token=1000_bFC2wRTIqNpdg~~&x5=0&f=json"
#上面是你在微信内置浏览器翻页时fiddle获取的url将offset=后面改成上面即可。
browser = webdriver.Chrome()
browser.get(final)
print(browser.page_source)
f = open(sttr + '.html', "wb+")
f.write((browser.page_source).encode('utf-8'))

sleep(15)
browser.quit()
if __name__ == '__main__':
for num in range(1,100):
#翻100次页,大概就回到公众号三年前了
num=1+ num*10
sttr=str(num)
get_hs(sttr)




结果如下:

2019-03-18 (23)_LI

2019-03-18 (23)

有了html的源码,公众号文章的所有东西都没问题了。

作者

Mch Wang

发布于

2019-03-30

更新于

2021-09-12

许可协议

评论