|-转 python爬虫数据采集(文中代码不完整,转载来是提供一个采集思路)
采用google浏览器,使用selenium库,将浏览器设置为无头模式
文中的代码部分需要修改,另外,他提到的用模拟浏览器访问的代码没有看到。
近几年来,python的热度一直特别火!大学期间,也进行了一番深入学习,毕业后也曾试图把python作为自己的职业方向,虽然没有如愿成为一名python工程师,但掌握了python,也让我现如今的工作开展和职业发展更加得心应手。这篇文章主要与大家分享一下自己在python爬虫方面的收获与见解。
python爬虫是大家最为熟悉的一种python应用途径,由于python具有丰富的第三方开发库,所以它可以开展很多工作:比如 web开发(django)、应用程序开发(tkinter、wxpython、qt)、数据统计与计算(numpy)、图形图像处理、深度学习、人工智能等。平时自己使用最多的是python爬虫(结合tkinter,开发爬虫应用程序)和使用django开发一些小型个人网站,django框架可以自动根据实体类生成管理端,极大的提升了系统的开发效率,有兴趣的朋友可以尝试一下。
一个成功的爬虫需要对应一个标准化的网站,爬虫主要是为了方便我们获取数据,如果目标系统开发不规范,无规则,很难用爬虫定制一套规则去爬取,并且爬虫基本是定制化的,对于不同的系统需要去调整。
首先想做好爬虫 一款好的代理ip必不可少
这里推荐一款适合爬虫的代理ip---代理云
爬虫的小伙伴可以去领取免费的代理IP试一下
国内高质动态IP。时效2-10分钟,现在注册还能免费领取一万代理IP
爬虫爬取数据的第一步必须分析目标网站的技术以及网站数据结构(通过前端源码),可借助chrome浏览器,目前python爬虫主要会面对一下三种网站:
1. 前后端分离网站
前端通过传递参数访问接口,后端返回json数据,对于此类网站,python可模拟浏览器前端,发送参数然后接收数据,便完成了爬虫数据的目标
2. 静态网站
通过python的第三方库(requests、urllib),下载源码,通过xpath、正则匹配数据
3.动态网站
如果采用第2种方法,下载的源码只是简单的html,源码中没有任何数据,因为此类动态网站需要js加载后,源码中才会有数据,对于此类网站,可以借助自动化测试工具selenium
爬虫步骤:
1.分析网站技术与目标数据的结构
2.根据第一步分析结构,选择对应的技术策略
3.爬取数据
4.提升性能,提高操作舒适度(结合客户端技术,为爬虫定制界面)
5.根据需求进行数据清洗
6.数据储存,存储到数据库、文档等
反扒机制:
1. 当系统判断同属一个ip的客户端不间断多次访问,会拒绝此ip的访问
解决方案:动态代理,不停的更换ip去访问目标系统,或者从免费的ip代理网站爬取ip,创建ip池,如果目标数据量不大,可通过降低访问速度,以规避反扒...