python之scrapy框架基础搭建
一、创建工程
#在命令行输入
scrapy startproject xxx #创建项目
二、写item文件
#写需要爬取的字段名称
name = scrapy.Field() #例
三、进入spiders写爬虫文件
①直接写爬虫文件自己手动命名
新建一个.py文件即可
②通过命令方式创建爬虫文件
scrapy gensipder yyy "xxx.com"
命名不能于工程名相同,爬取的域名区域
四、写爬虫文件
start_urls #爬虫第一次执行时爬取的网址域
初始换模型对象
iteam = TencentItem() #将iteam文件引入
iteam['xxx']= each.xpath("./td[1]/a/text()").extract()[0]
#xpath返回选择性的列表,extract将其转换成字符串,再取出列表中的第一个字符。
yield iteam #放到管道文件
#由于爬取的页面不止一页,所以需要调用请求回调函数。
#将请求重新发送给调度器入队列,出队列,交给下载器下载
#每次处理完一页的页面请求后,发送下一页的页面请求
yield scrapy.Request(url, callback=self.parse, dont_filter=True)
#函数名parse,有请求才会触发回调函数,yield发送到调度器
//写在每次循环执行完的外面。
五、写管道文件
首先定义初始化方法
def __init__(self):
self.filename=open("xxx", "w")
def process_item(self, iteam, spider):
dict(iteam) #字典转换成python的格式
json.dumps(dict(iteam), ensure_ascii = False) + "\n" #转换成json格式
self.filename.write(text.encode("utf-8")) #如果出现无法写入问题,要加上.encode("utf-8")
return iteam
关闭文件
def close_spider(self, spider):
self.filename.close()
六、配置settings文件
找到ITEM_PIPELINES配置项,配置到管道文件
七、设置请求报头
在settings文件中找到DEFAULT_REQUEST_HEADERS配置
八、运行程序
scrapy crawl 文件名
crawlspider创建应用改写
一、创建工程
scrapy gensipder -t crawl tencent tencent.com
#导入crawlspider类和rule规则
#from scrapy.spider import CrawlSpider, Rule
#导入链接规则匹配类,用来提取符合规则的链接
#from scrapy.linkextractors import LinkExtractor
#from TencentSpider.items import TencentItem
class TencentSpider(CrawlSpider): #继承CrawlSpider类
name = "xxx" #爬虫名
allow_domains = [] #控制爬虫的爬取域
start_urls = []
#正则匹配规则,Response里页面信息中符合规则的数据
pagelink = LinkExtractor(allow=("start=\d+"))
#批量调用请求方法
rules = [
#pagelink=url, 跟进链接调用方法,是否跟进链接True
Rule(pagelink, callback = "parseTencent", follow = True)
] 斗鱼
将json格式转换成python格式,data段是列表
data = json.loads(response.text['data']
python之scrapy框架基础搭建的更多相关文章
- python爬虫scrapy框架——人工识别登录知乎倒立文字验证码和数字英文验证码(2)
操作环境:python3 在上一文中python爬虫scrapy框架--人工识别知乎登录知乎倒立文字验证码和数字英文验证码(1)我们已经介绍了用Requests库来登录知乎,本文如果看不懂可以先看之前 ...
- Python爬虫Scrapy框架入门(0)
想学习爬虫,又想了解python语言,有个python高手推荐我看看scrapy. scrapy是一个python爬虫框架,据说很灵活,网上介绍该框架的信息很多,此处不再赘述.专心记录我自己遇到的问题 ...
- Python爬虫 ---scrapy框架初探及实战
目录 Scrapy框架安装 操作环境介绍 安装scrapy框架(linux系统下) 检测安装是否成功 Scrapy框架爬取原理 Scrapy框架的主体结构分为五个部分: 它还有两个可以自定义下载功能的 ...
- Python爬虫Scrapy框架入门(1)
也许是很少接触python的原因,我觉得是Scrapy框架和以往Java框架很不一样:它真的是个框架. 从表层来看,与Java框架引入jar包.配置xml或.property文件不同,Scrapy的模 ...
- Python使用Scrapy框架爬取数据存入CSV文件(Python爬虫实战4)
1. Scrapy框架 Scrapy是python下实现爬虫功能的框架,能够将数据解析.数据处理.数据存储合为一体功能的爬虫框架. 2. Scrapy安装 1. 安装依赖包 yum install g ...
- 基于python的scrapy框架爬取豆瓣电影及其可视化
1.Scrapy框架介绍 主要介绍,spiders,engine,scheduler,downloader,Item pipeline scrapy常见命令如下: 对应在scrapy文件中有,自己增加 ...
- 爬虫入门之Scrapy 框架基础功能(九)
Scrapy是用纯Python实现一个为了爬取网站数据.提取结构性数据而编写的应用框架,用途非常广泛. 框架的力量,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容以及各种图片,非 ...
- Python爬虫-- Scrapy框架
Scrapy框架 Scrapy使用了Twisted作为框架,Twisted有些特殊的地方是它是事件驱动的,并且比较适合异步的代码.对于会阻塞线程的操作包含访问文件.数据库或者Web.产生新的进程并需要 ...
- python爬虫scrapy框架
Scrapy 框架 关注公众号"轻松学编程"了解更多. 一.简介 Scrapy是用纯Python实现一个为了爬取网站数据.提取结构性数据而编写的应用框架,用途非常广泛. 框架的力量 ...
随机推荐
- 20190814_tomcat配置项目的错误页
1. 打开项目中的web.xml, 注意不是tomcat的web.xml; 一般是在项目的 WEB-INF目录下, 然后加上下面的语句 <error-page> <error-cod ...
- js预解析练习
分析下面两段代码 console.log(num)//undefined var num = 10 f()//可以执行 //f2()不可以执行 console.log(f)//function con ...
- 树莓派RTL8723BU_LINUX驱动安装
1.安装前准备:sudo apt-get -y update;sudo apt-get -y upgrade;sudo apt-get -y dist-upgrade;sudo apt-get ins ...
- PyQt(Python+Qt)学习随笔:containers容器部件GroupBox分组框介绍
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 1.主要属性 GroupBox分组框是一个对多个部件进行编组的框架容器,可以带有标题(title属性 ...
- SLR(1)语法分析(JAVA实现)
要求 代码 import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util. ...
- Android基础02
初识安卓的另一个重要的组件---广播. 1.广播的分类 标准广播:是一种完全异步执行的广播,在广播发出之后,所有的广播 接收器几乎都会在同一时刻接收到这条广播消息,因此它们之间没有任何先后顺序可言.这 ...
- C++详解(8-9)
八. C++函数的高级特性 对比于C语言的函数,C++增加了重载(overloaded).内联(inline).const和virtual四种新机制.其中重载和内联机制既可用于全局函数也可用于类的成员 ...
- THE BUG 队第一次团队作业
1.队名: THE BUG 队 2.队员学号: 杨梓琦 3118005115(队长) 温海源,3118005109 陈杰才,3118005089 李华,3118005097 钟明康,311800512 ...
- Python(三) PIL, Image生成验证图片
Python(三) PIL, Image生成验证图片 安装好PIL,开始使用. 在PyCharm中新建一个文件:PIL_Test1.py 1 # PIL 应用练习 2 # 3 # import PIL ...
- mac系统下用ssh方式连接git仓库
1.应用程序-终端,键入命令 ssh-keygen -t rsa -C "xxxxx@xxxxx.com" ,后面是你的邮箱地址.一直回车,生成密钥. 2.键入 open ~ ...