/zhihu2wechat

Find WeChat Subscription Accounts by Zhihu

Primary LanguagePython

爬知乎寻找微信公众号

使用方法

1.依赖情况

项目基于windows10下python3.5,未在其他系统及版本上试过。

需要事先安装requests库和flask库,未安装的分别使用下面两条命令安装

pip install requests
pip install Flask

2.使用步骤

分为如下几个步骤

  • 下载文件到本地
  • 修改settings.py中的HEADERS中的cookie为自己登陆知乎时使用的cookie
  • run.py所在文件夹下打开cmd
  • 在cmd中输入下面命令
python run.py

(不需要等待上面程序运行结束,因为你不终止,它不会自己结束)之后在浏览器中打开下面链接

http://localhost:1234

应该可以看到这个界面

点击其中的实例链接可以看到这个页面(需要等待几秒)

结果按照点赞数排序。question和topic的id自行修改,即可获得对应主题的回答者运营的公众号。后面的数字是查找数量,值越大会找到越多的公众号。

如果要终止程序在命令行界面按Ctrl + C

更多使用方法

类似主题的话题或者问题很大程度上会找到相同的回答者,为了防止每次请求结果高度重合,进行了去重的优化处理。启动项目时改用

python run.py -c T

其中T可以替换为任意字符

这样启动后,第一次在浏览器打开

http://localhost:1234/topic/19552832/100

显示结果和之前相同,同时项目文件中多出3个json文件。

如果此时刷新页面,则不会有内容产生,因为页面上只会展示之前没有展示过的回答者,此时需要增大查找数量,如下

http://localhost:1234/topic/19552832/200

这时得到的是100-200之间的查找内容(之前的启动方式会重新爬0-200)。

如果换一个主题或者换成一个问题

http://localhost:1234/topic/19550228/50
http://localhost:1234/question/20799742/50

则还是从该主题或问题的第一个回答开始寻找,但是之前出现过的公众号都不会重新出现(新产生的回答者会与存储在文件中的回答者进行对比,只有新回答者才会呈现在页面上)。

如果想看之前出现过的公众号,可以到check_url.json文件中查看,这里存储了出现过的所有运营公众号的回答者信息。

如果想要在浏览器中显示之前抓取过的内容,需要在命令行中Ctrl+C退出程序,然后运行

python delete_json.py

这样就会删除所有之前爬虫中生成的json文件,然后再启动项目

python run.py -c T

更多使用流程参考知乎博文

更新

2018.5.26 运行run.py文件时自动打开浏览器