爬虫python需要什么软件-python大神们!都在用什么爬虫工具呢?

436f656b4ec2ac41a9a72773173e263d5fdd17d7.jpg

python大神们!都在用什么爬虫工具呢?

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

aiohttp:异步http client/server框架

asyncio:python内建异步io,事件循环库

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

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

scrapy:python 爬虫框架;

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

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

pyspider:Python爬虫系统

网页抓取思路

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

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

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

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

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

如何应对反爬

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

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

让爬虫看起来像人类用户,选择性滴设置以下HTTP头部:Host:https://www.baidu.comConnection:keep-aliveAccept:

text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,/;q=0.8UserAgent:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)

Chrome/59.0.3071.104 Safari/537.36Referer:

http://s.weibo.com/user/gamelife1314&Refer=indexAccept-Encoding: gzip,

deflateAccept-Language: zh-CN,zh;q=0.8

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

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值