最近貌似爬虫需求越来越大,可能是大数据带动的。今天给大家分享爬虫应该怎么写?用什么框架?怎么自动登录?怎么绕过反爬虫技术?
爬虫就是从别人家的网站或者平台上获取数据,我们今天就拿提供企业信息的某某网站为案例。
第一步选择一个爬虫框架,我第一个会想到的是scrapy一个用python语言开发的最强最流行的爬虫框架,短短十几行代码就能实现简单的爬虫任务。我之前没有python语言的基础,也没有用过scrapy,所以我从scrapy的官网上学习了几个小时。然后就开始写了几十行能运行。但是某某网站的反爬虫技术强,需要更改agent,需要加入cookie解决滑动验证码、还有页面必须渲染执行js才能获取到真正想得到的数据等等很多问题,对于初学这个框架的我难度太大了,然后我就放弃该选择了。
我想到了自动测试工具selenium。该工具能调用浏览器,并且等待浏览器渲染完页面执行完js后可以读取浏览器展示的数据。selenium也有Java的接口,还需要WebDriver火狐浏览器版。
第二步就是写代码实现功能了,新建一个FirefoxDriver(如果是Chrome的话ChromeDriver)对象,它有一个get方法能在浏览器里打开你要的页面了,它还有一个gatPageSource方法,该方法就是获取页面上的数据了。
好了就这么简单一个爬虫出来了,能绕过反爬虫技术超强的某某.com设置的障碍,唯一的缺点就是滑动验证码还是得人去验证,程序遇到滑动验证码后会等待。
欢迎各位感兴趣的朋友交流技术、经验。