反爬初学者

一、反扒策略
1、通过user-agent来判断是不是爬虫。
解决的办法:伪装user-agent客户端标识
2、通过访问频率来判断。
解决的办法:设置请求频率。

time.sleep(random.randint(0,5))

3、封ip
设置代理ip。

requests.get(
url,
headers,
params,
proxies,代理字典
)
proxies={
'http':'http://ip:port',
}

4、页面内容不是直接渲染的,而是通过js动态加载获取的。
解决办法:selenium+phantomjs来解决。
二、html页面技术
1、js:
html是页面骨架,css是装饰,js是页面的行为。
js非常重要。
2、jquery:js的库,作用就是简化js编程。
3、ajax:web的异步请求技术。
异步请求:
同步请求:
4、Dhtml
三、selenium和phantomjs
1、什么是selenium?
selenium是一个web自动化测试工具。但是它本身不带浏览器的功能。他这个工具其实就是可以作为一些外部应用的驱动程序一样,可以控制外部应用来完成一些任务。
2、selenium安装:
pip install selenium==2.48.0
3、什么是phantomjs?
phantomjs它其实就是一个内置浏览器无界面浏览器引擎。他可以像浏览器一样加载页面,运行页面中的js代码。
4、为什么selenium和phantomjs的组合可以解决任何网站的页面数据问题?
selenium就像一个python程序,phantomjs就相当于一个浏览器。他们的结合就相当于用python来控制浏览器进行页面内容的解析,所以,只要能在浏览器中加载的页面,就一定能通过这个组合获取到数据。
5、phantomjs的安装。
搜索phantomjs镜像,用镜像下载速度比较快。

phantomjs-2.1.1-windows.zip这个包怎么使用:在这个里面找到phantomjs.exe,将这个exe文件放到anaconda的scripts包下面。
测试是否安装好:在cmd窗口下面输入phantomjs,如果不报错,就说明安装成功。

6.安装可视化chrome浏览器的驱动。

下载安装chromedriver.exe---->这驱动就是可以让selenium驱动谷歌一个驱动。---->下载的时候一定要对照自己chrome浏览器的版本。
下载:搜索chromedriver镜像chromedriver_win32.zip,在里面找到chromedriver.exe,把他也反倒anaconda的scripts包下面。

7、selenium的使用

文档:selenuim常用方法总结.note
链接:http://note.youdao.com/noteshare?id=0142a95cf23fadbaea95809ccb5674b2&sub=02896A50836E4995997A821419D9A063

猜你喜欢

转载自www.cnblogs.com/bug-king/p/11980194.html