1. 爬虫的核心
- 爬取网页
- 解析数据
- 难点:与反爬虫博弈(反爬虫: 资源的所有者,想要保护资源,避免被第三方爬虫程序批量的把资源下载下去。想办法区分爬虫程序和正常的用户。)
2. 爬虫的语言
- Python:语法优美、代码简介、开发效率高、三方模块多,调用其他接口也方便。有强大的爬虫Scrapy,以及成熟高效的scrapy-redis分布式策略。
3. 爬虫分类
- 通用爬虫
是百度、Google、360、搜狐、firefox等搜索引擎。特点是爬取网站所有内容、但不能根据客户需求给出特定内容。 - 聚焦爬虫
就是现在我们这些爬虫程序员所进行的工作,就是根据客户的需求,爬取指定网站的特定内容。
学习爬虫
1. 理解http/https协议
- http协议:菜鸟教程:http协议详解
- https协议:菜鸟教程:https协议详解
2. python基础知识
- urllib.request
- urllib.parse
- 正则表达式等等基础知识。
3. 开发工具
- pacharm:下载安装请参考菜鸟教程:pycharm下载安装教程
- sublime Text3:下载安装请参考菜鸟教程:sublime下载安装
4. 抓包工具
- chrome浏览器的开发者模式,在这里可以检查网页的各种元素。
- fiddler:原本是为测试来测试网站的,后来成了爬虫工程师最喜爱的工具。这是一款开源软件,可以直接去官网下载安装https://www.telerik.com/downl...
- postman:可以根据请求头信息生成简单的网页爬取代码,界面相对于fiddler也要美观
- motimproxy
简单爬虫实例
python爬虫有多简单,下面我一行代码爬取百度首页,如同在浏览器输入网址一样简单
import urllib.request # 网页内容保存到 baidu.html urllib.request.urlretrieve('http://www.baidu.com/', 'baidu.html')
请求头反反爬虫:
import urllib.request #指定url url = 'https://www.qiushibaike.com/' #定义请求头对象 headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36' } #获取网页信息 request = urllib.request.Request(url, headers=headers) response = urllib.request.urlopen(request) with open('baidu.html','wb') as f: f.write(response.read())
评论列表(0条)