一、全面的爬虫工程师的技能单
1、python编程语言基础
2、HTTP协议(处理响应, )
3、html,css,javascript基本web技能
4、mysql/mongodb/redis等存储系统
5、urllib/requests/scrapy/pyspider 用来模拟浏览器发起HTTP请求的组件
6、抓包工具和网页分析工具(正则,bs4,xpath,selenuim 异步请求,模拟登陆,最难的验证码(机器学习), 反反爬虫)
7、json/csv/db
html xml 半结构化
二、Python3.x教程
廖雪峰Python3教程(文档):http://www.liaoxuefeng.com/
菜鸟教程Python3教程(文档):http://www.runoob.com/python3/python3-tutorial.html
三、python基础内容点
python编程语言简单介绍(产生背景,优缺点,流行度)
python的开发环境搭建(linux,windows,python,pycharm)
python的hello world
python关键字查看
python的变量定义
python的数据类型(Number String List Tuple Set Dict)
python的注释(单行和段落)
python的输入输出(print 和 input)
python数据类型转换/常用数值运算/类型判断
python的集合,列表,元组,字典
python的流程控制for和while和if(break, continue, pass)
python的切片
python的代码缩进(换行,段落)
python函数(自定义函数,常用内置模块,常用函数,函数调用)
python异常
python模块(内置模块,导入模块,自定义模块)
python迭代器和生成器
python面向对象
python读写文件IO
python数据库和JSON和CSV
四、爬取单
名言网:http://quotes.toscrape.com
中国天气网
必应词典翻译/身份证归属地/手机号归属地
拉勾招聘职位
当当畅销书
豆瓣影评
链家/自如租房/如家
糗事百科/内涵段子/新浪微博
校花/校草照片
起点小说
微信公众号
知乎热点
B站用户
NBA2017-2018赛季比较详细数据
猫眼电影
五、爬虫
概念:
1、爬虫:网络爬虫(又被称为网页蜘蛛,网络机器人),是一种按照一定的规则,自动地抓取万维网www信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。
2、爬虫:使用任何技术手段,批量获取网站信息的一种方式。关键在于批量。
3、爬虫:根本目的在于获取网页源码中的数据。更深入一些,就会出现和网页进行POST交互从而获取服务器接收POST请求后返回的数据!总结:爬虫就是由计算机自动与服务器交互获取数据的工具。
爬虫相关的其他核心概念:
反爬虫:使用任何技术手段,阻止别人批量获取自己网站信息的一种方式。关键也在于批量。
误伤:在反爬虫的过程中,错误的将普通用户识别为爬虫。误伤率高的反爬虫策略,效果再好也不能用。
拦截:成功地阻止爬虫访问。这里会有拦截率的概念。通常来说,拦截率越高的反爬虫策略,误伤的可能性就越高。因此需要做个权衡。
资源:机器成本与人力成本的总和。
爬虫的分类
1、聚焦爬虫:开发人员针对特定用户而开发的数据采集程序 聚焦爬虫
2、通用爬虫:尽可能的爬取所有的网页, 搜索引擎
基本流程:
1、发送请求(urllib, requests) 在浏览器的地址栏中输入了URL之后回车的那个动作
2、获取页面内容 得到服务器接收请求之后进行处理得到的网页源代码
3、解析页面(bs4, xpath,正则re,jsonpath, pyquery, json) 解析源码,抽取数据
4、异步动态加载/验证码处理(selenium, phantomJs)
5、抽取并存储内容(json,csv/tsv, 数据库) 处理数据,存储数据
爬虫的工作原理
爬虫的工作方式
有两种策略:
1、深度优先爬取
2、广度优先爬取
response = urllib.request.urlopen("https://www.baidu.com/")
content = response.read()
content是一个网页的源码组成的一个字符串。
这个源码中会包含很多的其他的http地址 URL 怎么去对待这个URL ?
https://movie.douban.com/top250 https://movie.douban.com/top250?start=25&filter=
基本上,也就是除了带分页的是标准的广度优先之外, 其他的基本上都是
广度 + 深度
搜索引擎的工作原理
hadoop的产生
google nutch 爬虫 doug cutting (lucene)
几乎是爬取了整个网络的所有网页,所以每个网页都存储下来的话,那么数据量必然很大。
数据量特别大
为什么大数据的应用技术, 最先从google弄出来。
在存储的时候,有必要把所有的网页内容都存储下来么?
这个URL中有哪些关键信息存储下来。!!
关键信息就是这个网页中的, 核心
排序 PageRank value 分数 PageRank
就是给每一个网页的对应的某一个关键字都衡量出一个 分数
六、爬虫框架
scrapy
pyspider
七、反爬虫 和 反反爬虫
1、爬虫领域的一些相关概念:
爬虫:使用任何技术手段,批量获取网站信息的一种方式。关键在于批量。
反爬虫:使用任何技术手段,阻止别人批量获取自己网站信息的一种方式。关键也在于批量。
误伤:在反爬虫的过程中,错误的将普通用户识别为爬虫。误伤率高的反爬虫策略,效果再好也不能用。
拦截:成功地阻止爬虫访问。这里会有拦截率的概念。通常来说,拦截率越高的反爬虫策略,误伤的可能性就越高。因此需要做个权衡。
资源:机器成本与人力成本的总和。
2、约定协议/君子协定 robots.txt
robots协议:协议指明通用爬虫可以爬取网页的权限
robots协议是一种约定,一般是大型公司的程序或者搜索引擎等遵守
3、为什么要反爬虫?
1、爬虫占总PV比例较高,过多消耗服务器资源
2、公司的免费资源被批量爬走,利人损己
3、法律问题
4、反爬虫应对策略
1、技术压制
2、嘲讽
3、放水
标签:网页,批量,python,误伤,爬虫,光环,com From: https://blog.51cto.com/u_6468453/6964692