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实现一个为了爬取网站数据.提取结构性数据而编写的应用框架,用途非常广泛. 框架的力量 ...
随机推荐
- python之Bug之字符串拼接bug
\r\n拼接Bug 环境: python3.4.pycharm2017 偶然的学习中遇到了一个问题,百思不得姐,什么问题呢,大家输入太快了,难免有失误就如下面的代码 #构造响应数据 response_ ...
- 老猿学5G扫盲贴:与用户和终端相关的名词UE、SUPI、GPSI、PEI
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt+moviepy音视频剪辑实战 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 和4 ...
- PyQt(Python+Qt)学习随笔:QToolBox工具箱的currentItemName和tabSpacing属性
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 在Designer中,toolBox的属性中有currentItemName和tabSpacing属 ...
- PyQt学习随笔:Model/View中TableView视图数据项编辑结果及视图数据项的访问
按照<PyQt学习随笔:Model/View中设置视图数据项可编辑的方法>的方法支持视图数据可编辑后,编辑后的数据无需主动保存,PyQt会自动将界面变更的数据保存到对应的Model存储中, ...
- PyQt(Python+Qt)学习随笔:Qt Designer中主窗口对象的dockOptions属性
dockOptions属性代表主窗口对浮动部件停靠的反应,其类型为枚举类型QMainWindow.DockOptions.相关取值及含义如下: 这些枚举值可以组合使用,仅控制如何在QMainWindo ...
- 《30天自制操作系统》软盘 -> VMware虚拟机
书名叫做30天自制操作系统,按照学校课设答辩的时间来看,估计得把书名改成<一周自制操作系统>,太卷了哈哈哈 我们可以使用qemu来模拟物理机 make run第二天制作的操作系统 可以看到 ...
- pyinstaller---将py文件打包成exe
pyinstaller可将Python脚本打包成可执行程序,使在没有Python环境的机器上运行. 1.pyinstaller在windows下的安装 直接在命令行用pip安装 pyinstaller ...
- 计算机语言与JAVA的发展
计算机语言与JAVA的发展 第一代语言 2进制 第二代语言 汇编语言 解决人类无法读懂的问题 指令替代二进制 目前应用 逆向工程 机器人 病毒 第三代语言 摩尔定律 性能提升愈来愈慢 高级语言 面向过 ...
- Zabbix 新版微信告警-转载
Zabbix 新版微信告警 Zabbix可以通过多种方式把告警信息发送到指定人,常用的有邮件,短信报警方式,但是越来越多的企业开始使用zabbix结合微信作为主要的告警方式,这样可以及时有效的把告警信 ...
- Spring Boot 的2020最后一击:2.4.1、2.3.7、2.2.12 发布
近日,Spring Boot官方发布了本年度最后一次版本更新,主要针对目前维护的三个版本: 2.4.x:第一个bug修复版本 2.4.1 2.3.x:常规维护版本 2.3.7 2.2.x:常规维护版本 ...