爬虫相关概念学习笔记
爬虫相关概念
what is?
爬虫:抓去网页数据的程序。
How to catch?
网页三大特征?
1.URL
2.HTML
3.HTTP/HTTPS
爬虫的设计思路?
1.确定需要爬去的网页的URL地址
2.通过HTTP协议来获取对应的HTML页面
3.提取HTML里有用的数据
if 有用:
save
else:
重复步骤2
如何抓取HTML页面:
HTTP请求的处理,urllib,urllib2,requests
处理后的请求可以模拟浏览器发送请求,获取服务器响应的文件
解析服务器相应内容:
re,xpath,beautifulSoup4,jsonPath,pyquery等
正则,等匹配规则
如何采集动态HTML,验证码的处理:
通用的动态页面采集:Selenium+PhantomJS(自动化测试工具+无界面浏览器,可以模拟真实浏览器)
Scrapy框架Pyspider
分布式策略:
Scrapy-redis,以redis数据库为核心的组件,让scrapy支持分布式,请求指纹去重,请求分配,数据临时存储
Ajax方式加载的页面,数据格式一定是json
通用爬虫和聚焦爬虫
通用爬虫:搜索引擎用的爬虫系统(一般遵循Robots协议)
聚焦爬虫:爬虫程序员针对某种内容爬虫
面向主题,需求爬虫
HTTP,HTTPS
HTTP端口:80
HTTPS端口:443
爬虫的抓取过程可以理解为模拟浏览器操作的过程
urllib2库
urllib2的官方文档https://docs.python.org/2/library/urllib.html
def urlopen()常用3个参数 url, data, timeout
def urlopen(url, data=None, timeout=socket._GLOBAL_DEFAULT_TIMEOUT):
global _opener
if _opener is None:
_opener = build_opener()
return _opener.open(url, data, timeout)
缺点: urlopen()不支持构造请求
urllib2.request() 去构造请求对象
3个常用方法
print response.getcode()
print response.geturl()
print response.info()
handler处理器和自定义opener
openener:是urllib2.openerDirector的实例,urlopen是一个特殊的opener(模块帮我们构建好的)
但是urlopen()不支持代理,cookie等,
如果要支持就必须:
1.使用相关的handler处理器(HTTPhandler),创建特定功能的 处理器对象。
2.使用urllib2.build_opener()方法使用这些处理器对象,创建自定义的opener对象
3.使用自定义的opener对象,调用open()方法发送请求(或者用urllib2.install_opener()方法)。
URLerror HTTPerror
Cookielib库 和CookieProcessor处理器:
Cookielib:主要用于存储cookie对象。
CookieProcessor:主要用于处理cookie对象
cookielib库:
父类:CookieJar
子类:FileCookieJar
孙类:MozillaCookieJar(继承FireFox)和LWPCookieJar(新标准)
相关文章
- [Python爬虫] 在Windows下安装PhantomJS和CasperJS及入门介绍(上)
- 第三百七十二节,Python分布式爬虫打造搜索引擎Scrapy精讲—scrapyd部署scrapy项目
- 1-爬虫框架-download和MySQL封装
- 小白学 Python 爬虫(41):爬虫框架 Scrapy 入门基础(八)对接 Splash 实战
- 小白学 Python 爬虫(24):2019 豆瓣电影排行
- 小白学 Python 爬虫(10):Session 和 Cookies
- Python3安装Scrapy爬虫框架
- Python零基础—网络爬虫入门,附学习路线+笔记+视频教程
- Python爬虫基础讲解:数据持久化——文件操作 及 Excel
- 【Python3网络爬虫开发实战】4.3-使用pyquery
- 配置Pycharm的Scrapy爬虫Spider子类通用模板
- python 站点爬虫 下载在线盗墓笔记小说到本地的脚本
- 爬虫日记(61):Scrapy的数据去重处理管道
- 爬虫日记(23):用scrapy快速地爬取蜂鸟网图片
- selenium自动化爬虫测试
- Python爬虫:Xpath语法笔记
- 爬虫5 html下载器 html_downloader.py
- 爬虫工具获取页面中域名及子域名(SQL注入、渗透)
- 零基础自学python网络爬虫有没有学习路线。最好是详细的?
- Jsoup爬虫入门实战(包含页数区间进行查询)
- error_description‘: ‘遇到错误,请刷新页面或者重新登录帐号后再试‘, ‘er 网络爬虫需要cookies python 爬虫