手机网站功能开发方案,百度app智能小程序,互联网技术英文,wordpress设置邮箱鉴于爬虫初学者们#xff0c;往往也是编程的初学者#xff0c;我在这里介绍一套最常用的技术栈#xff0c;不求多#xff0c;只求精。 毕竟我们的目标是采集到数据#xff0c;只要能够成功实现目标的工具就是好工具。 爬虫框架scrapy#xff1a;该框架是scrapinghub公司开…鉴于爬虫初学者们往往也是编程的初学者我在这里介绍一套最常用的技术栈不求多只求精。 毕竟我们的目标是采集到数据只要能够成功实现目标的工具就是好工具。 爬虫框架scrapy该框架是scrapinghub公司开发并开源的经历过时间的检验好用性能佳。 http请求库requestsrequests官方是这样介绍这个库的“Requests 是个为Python而写的优雅又简单的HTTP库”我们可以在爬虫代码开发过程中使用这个库进行调试甚至一些简单的爬虫完全可以只用requests来实现。 http请求curl说起调试爬虫就一定得提到curl这个工具非常好用。在chrome中可以一键生成某个请求的curl命令然后修改参数以调试可验证接口可接受参数的范围。 一个爬虫所需要的工具就这么多了。除了上面介绍的这些你可能还需要一台电脑和一根网线。 在本教程中不会过多涉及存储。你完全可以将采集回来的数据以任何你认为方便的方式存储。如果你不太会使用数据库的话直接用文件存储也可以。 如果你还想了解更多的话可以看看下面这些工具。 urllib3其实还有urllib和urllib2是比较底层的原生http请求库。如果你没有直接使用过它们那说明你不需要学习它们。 grab另一个爬虫框架并非python爬虫业界主流。有兴趣可以读读源码。 asynciopy3中的一个异步协程库。 aiohttp基于asyncio实现的一个异步协程http请求库。 pyspider爬虫专家binux业余开发的一套爬虫框架带UI展示。但是维护不频繁也不如scrapy好用。大家有空可以读读源码学习一下不推荐工业使用。 模拟浏览器 以前常用技术栈有seleniumphatomjs其中selenium是个自动化测试框架phatomjs是个无界面浏览器但phatomjs已经停止开发了。 目前更为常用的方案应该是seleniumchrome headless或是pyppeteer跟splash。 chrome headless就是chrome浏览器的无界面版本我们将在后续文章中着重介绍。 pyppeteer则是基于puppeteer进行封装的另一个chrome headless自动化测试框架。 splash则是scrapinghub公司研发的比较适合只对js进行渲染而不进行点击或任何其他步骤的操作。 抓包分析工具 最常用的还是chrome和firefox的开发者工具我们的教程中几乎都是chrome开发者工具作为示例。 app抓包可以使用fiddler和charless如果搞不定就得上更加高端的wireshark。甚至是mitmproxy或anyproxy进行抓包。 后续在我们讲解到app抓取时我们会比较详细的介绍app如何反编译找到加密算法。但其实app抓取更常用的手段是Appium模拟这类似于PC端使用浏览器进行渲染。 建议爬虫初学者不要一次学习太多工具只要先对每个工具的作用做一个初步了解后续伴随着项目的进行遇到合适的场景下选择合适的工具即可。