爬取网站的流程:
1.确定网站哪个url是数据的来源
2.简要分析一下网站结构,查看数据一般放在哪里
3.查看是否有分页,解决分页问题
4.发送请求,查看response.text里面是否有我们想要的数据
5.如果有数据,就用相应的提取数据的方法提取数据保存
反爬措施以及对应措施
反爬策略:
1.通过usse_agent客户端标识来判断是否是爬虫
解决办法:封装user_agent请求头
2.通过访问频率来判断
解决办法:设置爬取时间
3.封ip
解决办法:设置代理
4.页面内容无法直接获取数据,页面都是js代码
解决办法:selenium+phantomjs
动态html页面的处理方法
常见的一些页面技术:
js html是页面的骨架,css是页面装饰,js是页面灵魂
jquery jquery是一个js库,可以是js代码更加简化。
ajax web页面的异步请求,是一种技术。
解决方法:selenium+phantomjs
1. selenium:是web自动测试工具,但自身不带浏览器
pantomjs:他是一个无界面的浏览器。所以他可以运行js代码,帮我们拿到页面数据
2.安装:
selenium安装 pip install selenium==2.48.0
pantomjs安装 是第三方插件,搜索phantomjs镜像,下载后将exe文件复制,放到运行环境的scrip文件下面(注意:第三方插件都可以放在script文件下)
例子:
import requests