Python开发爬虫常用的工具总结

  reqeusts:Python HTTP网络请求库;

  pyquery: Python HTML DOM结构解析库爬虫工具,采用类似JQuery的语法;

  BeautifulSoup:python HTML以及XML结构解析;

  selenium:Python自动化测试框架爬虫工具,可以用于爬虫;

  phantomjs:无头浏览器爬虫工具,可以配合selenium获取js动态加载的内容;

  re:python内建正则表达式模块;

  fiddler:抓包工具爬虫工具,原理就是是一个代理服务器,可以抓取手机包;

  anyproxy:代理服务器爬虫工具,可以自己撰写rule截取request或者response,通常用于客户端采集;

  celery:Python分布式计算框架爬虫工具,可用于开发分布式爬虫;

  gevent:Python基于协程的网络库爬虫工具,可用于开发高性能爬虫

  grequests:异步requests

  aio框架

python大神们!都在用的什么爬虫工具呢? Python爬虫 第1张

  asyncio:python内建异步io爬虫工具,事件循环库

  uvloop:一个非常快速的事件循环库爬虫工具,配合asyncio效率极高

  concurrent:Python内建用于并发任务执行的扩展

  scrapy:python 爬虫框架;

  Splash:一个JavaScript渲染服务爬虫工具,相当于一个轻量级的浏览器,配合lua脚本通过他的 解析页面;

  Splinter:开源自动化Python web测试工具

  pyspider:Python爬虫系统

  网页抓取思路

  数据是否可以直接从HTML中获取?数据直接嵌套在页面的HTML结构中;

  数据是否使用JS动态渲染到页面中的?数据嵌套在js代码中爬虫工具,然后采用js加载到页面或者采用ajax渲染;

  获取的页面使用是否需要认证?需要登录后页面才可以访问;

  数据是否直接可以通过API得到?有些数据是可以直接通过api获取到爬虫工具,省去解析HTML的麻烦,大多数API都是以JSON格式返回数据;

  来自客户端的数据如何采集?例如:微信APP和微信客户端

  如何应对反爬

  不要太过分爬虫工具,控制爬虫的速率,别把人家整垮了,那就两败俱伤了;

  使用代理隐藏真实IP爬虫工具,并且实现反爬;

  让爬虫看起来像人类用户爬虫工具,选择性滴设置以下

  查看网站的cookie爬虫工具,在某些情况下,请求需要添加cookie用于通过服务端的一些校验;