# WebCrawlProject **Repository Path**: alienwu/WebCrawlProject ## Basic Information - **Project Name**: WebCrawlProject - **Description**: 这个仓库记录以前做过的爬虫项目 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 1 - **Created**: 2019-09-02 - **Last Updated**: 2024-10-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # WebCrawlProject #### 介绍 这个仓库记录小弟以前做过的爬虫项目 #### 用到技术栈 1.开发语言:python,go,js(部分功能) 2.开发工具:fiddler,postman,chrome,chromedriver,charles,网易模拟器,naicat,wireshark,adb等 3.数据库:sqlite,mysql,redis,mongodb 4.开发框架:scrapy,flask,tornado,appium #### 使用说明 由于爬虫与反爬虫的博弈日已更新,因此代码不一定能在此时此刻正常运作,仅当设计思路参考。 ## 项目设计思路分享: (1)**抖音**: 抖音的反爬虫做得十分优秀,APP端的经过抓包可以发现,无论是用户数据接口还是评论接口又或者是视频接口都有很优秀的加密参数。本人研究过抖音的加密参数有一段时间,但是还是无法破解,其难点,我觉得在于因为是APP端,其无法像网页应用一样很好的调试js以破解加密参数,同时其加密参数又有关联系数参数,所以导致破解十分困难。 当APP端难以破解后,试图从抖音pc端下手。抖音pc端用户的数据并没有沿用app端的同一个数据接口(聪明!!),其反爬手段在于前端字体加密。用到的技术是字体与图形合并的技术让crawler抓到的页面无法正常显示数据。破解方法是:百度搜百度字体平台,将抖音的字体包拆出来,找到对应的关系后即可破解。 (2)**我主良缘网** 这是一个姻缘网站,当初做这个项目主要是为了搜集数据学习数据分析。该网站难度比较低,但是数据量大,因此采用了scrapy框架进行爬取,同时用到了mongodb进行数据存储。 (3)**淘宝网** 淘宝的反爬虫难度在于接口加密得太恶心了,想拿数据的话从接口入手很难,从渲染收入相对比较简单。渲染爬取的难点在于如何跳过淘宝登录的风控检测。正常的用浏览器驱动去模拟登录一定会被淘宝判别为机器行为,因此用selenium就显得力不从心了。一开始这个问题我也想了很久,也尝试用win32模块去操作实现模拟登陆,这个方法行得通,但是容错率低,而且慢。后来经过学习发现有个js异步渲染框架叫puppet,而pyppeteer则是python对其的移植模块,它可以实现异步加载js,从而注入一些能够逃逸淘宝风控检测的js代码,最终实现自动化模拟登录。淘宝网能登录之后后面要处理的就是请求频率和验证码的问题了。 (4)**多多看书网** 一个小说门户网站,爬取难度低,爬取目的是为了练习mongodb 的应用。 (5)**今日头条** 今日头条接口加密,加密参数有三个,第三个与前面连个相关联。一开始我是采用selenium渲染爬取的,但是我发现这样爬的话效率及其低,后面改用接口爬取。但是接口也并不容易破解,而且破解了又面临着头条时刻改变接口算法的问题,因此在这我想到了一个设计思路。那就是开一台机子做渲染机,不断地产生接口参数,然后放到redis缓存里让其他spider分布式接口抓取数据,这样大大地提高了抓取效率。 (6)**京东** 京东不反爬虫,能找到接口就能抓取,而且不限制访问频率。这个要求crawler的经验。 (7)**中国商标局** 政府网站,一个反爬虫团队在维护网站。接口,selenium都否掉。从手机端入手用appium可以爬取。 (8)**EBI** 这是一个国外的论文发表文章,帮一个研究生网友写的爬虫脚本。难度不大,接口爬取,但需要科学上网。 (9)**拉勾网** PC端各种手段反爬虫,从APP端入手,遍历ID接口爬取。由于数据量比较大,建议分布式爬取,我这里只是写了个demo。 (10)**拼多多** APP端: 接口加密,访问频率控制 PC端: 渲染检测 破解方法: puppet从PC端获取商品goodsid后从APP端构造接口爬取。对于访问控制解决办法:花钱弄代理IP,用手机流量抓取(该漏洞为本人测试挖到,实测可用,不过本人已向拼多多官方提交,后续有没有堵住漏洞并没有跟进) ## 免责声明: 此仓库的爬虫项目仅供学习,若用于商业用途本人一概不负责,如有侵权请联系本人删除。