Python学习笔记-----Scrapy
来源:互联网 发布:淘宝店铺级别提升 编辑:程序博客网 时间:2024/05/22 15:02
Python
英文意思:大蟒蛇:
使用python可以做哪些用途?
1、 网站的开发,利用django,flask框架搭建网站。
2、 用爬虫实现数据挖掘、批量处理,例如:微博私信机器人,美剧批量下载,运行投资策略、刷便宜机票,爬合适房源、系统管理员脚本。
3、 再包装其他语言程序。
关于Python的库:
首先是python内置的标准库,然后在此基础上,如果想要相应的扩展,可以下载并且导入第三方库
爬虫部分:
首先,我们先看下什么是爬虫呢?
爬虫的英文翻译叫spider,即网络爬虫,可以理解为在互联网络上爬行的一只蜘蛛,当这只蜘蛛遇到资源的时候,它就会抓取下来,至于抓取什么内容,就由控制爬虫的代码来完成了。
一些爬虫的基本概念:
URL:就是一种资源定位符,简单来说就是我们通常说的网址。这边需要注意的就是,互联网上的每一个文件都有唯一的一个URL,它包含的信息就是指出文件的位置以及浏览器怎么处理它。
URL的组成:
1、协议,也叫服务方式
2、存有该资源的主机IP,或者端口号
3、主机资源的具体地址,比如目录
Scrapy 框架学习:
基本介绍:
Scrapy的基本组件
Spider:是一个类,它定义了怎么样爬取一个网站,包括怎么跟踪链接,怎样提取数据
Scrapy.spider的属性:
Name:spider的名称
Allowed_domains():爬虫站点
scrapy的基本概念
一、Request对象
1.初始化参数
class scrapy.http.Request( url [ , #必须的 callback, #回调函数 method='GET', #请求方法 headers, body, cookies, meta, #元数据 encoding='utf-8', #编码 priority=0, #优先级 don't_filter=False, #是否过滤URl的flag errback #发生错误时所调用的函数] )
2.其他属性:
urlmethodheadersbodymetacopy()replace()
3、基本方法
生成request实例:
例子1:
def parse_page1(self, response): return scrapy.Request("http://www.example.com/some_page.html", callback=self.parse_page2)def parse_page2(self, response): # this would log http://www.example.com/some_page.html self.logger.info("Visited %s", response.url)
其中,parse_page1方法返回了一个URL,并且回调到parse_page1,记录了其日志信息
例子2:
def parse_page1(self, response): item = MyItem() item['main_url'] = response.url request = scrapy.Request("http://www.example.com/some_page.html", callback=self.parse_page2) request.meta['item'] = item return requestdef parse_page2(self, response): item = response.meta['item'] item['other_url'] = response.url return item
在parse_page1方法中首先实例化了一个item,然后把response.url赋给了item中的‘main_url’字段,
然后生成一个request,回调到parse_page2【首先把response.meta[‘item’]赋值给item,然后把response.url赋值给item的‘other_url’字段】,接着把item赋给request.meta[‘item’],这样做的目的是是的parse_page2方法能够使用上一个函数传递过来的item的对象。这是两个不同函数之间传递数据的一种方法。
二、Response对象 是Scrapy对Requese请求之后的反馈对象
1、初始化参数:
class scrapy.http.Response( url [ , status=200, headers, body, flags ] )
2其他参数:
urlstatusheadersbodyrequestmetaflagscopy()
3.子类:
class scrapy.http.TextResponse(url [ , encoding [ , ... ]] )class scrapy.http.HtmlResponse(url [ , ... ] )class scrapy.http.XmlResponse(url [ , ... ] )
关于Scrapy的内置服务
有四个模块,分别是:Logging模块,Stats Collections模块,Sending-email模块,Summary模块。下面,会对其进行相关的解释。
首先关于Logging模块:
基本使用模块:
- Python学习笔记-----Scrapy
- python爬虫框架scrapy学习笔记
- python爬虫框架scrapy学习笔记
- python学习笔记三(scrapy)
- 学习笔记python入门-安装Scrapy
- scrapy学习笔记--scrapy命令
- python scrapy学习踩点
- Python scrapy学习入门
- python第三方爬虫开源库scrapy学习笔记
- 我的Python学习笔记(6) 初探网络爬虫scrapy
- Scrapy 学习笔记(一)
- scrapy学习笔记--Items
- Scrapy框架学习笔记
- Scrapy-学习笔记
- scrapy学习笔记
- scrapy学习笔记
- Scrapy学习笔记一
- Scrapy学习笔记
- Canal配置
- 算法提高 拿糖果 线性DP
- soupUI使用教程
- 排序-冒泡排序
- 将指定文字写入QImage中并保存成图片
- Python学习笔记-----Scrapy
- 冒泡排序
- HDOJ(HDU).2191. 悼念512汶川大地震遇难同胞――珍惜现在,感恩生活 (DP 多重背包+二进制优化)
- 从网页上打开本地应用程序——Windows下 URI Scheme的使用
- 机器学习算法集锦:从贝叶斯到深度学习及各自优缺点
- poj 1002 487-3279
- 文章标题
- Mongo简介
- 蓝桥—交换瓶子