前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Scrapy快速上手

Scrapy快速上手

作者头像
py3study
发布2020-01-16 15:41:00
4960
发布2020-01-16 15:41:00
举报
文章被收录于专栏:python3python3

超详细官方教程解析

https://blog.csdn.net/fly_yr/article/details/51540269

实战过程:

  1. 创建一个Scrapy项目
  2. 定义提取的Item
  3. 编写爬取网站的 spider 并提取 Item
  4. 编写 Item Pipeline 来存储提取到的Item(即数据)

【1】创建Scrapy项目

scrapy startproject TestDemo 

若进入到相应的文件目录下,在地址栏输入cmd进入命令行界面,输入以上命令,则会在相应的文件目录下建立一个项目

创建spider.py命令:scrapy genspider -t basic 名字 网址

也可以手动创建

运行爬虫时,在项目所在目录的地址栏cmd,进入,输入 scrapy crawl 爬虫名字;

否则可能会提示没找到该命令

其他相关命令

【2】定义Item容器

添加字段位置

先建模     //左是名字 右边是 占位符

【3】编写爬虫:

实现爬虫的python文件应该在spiders文件夹下

#def parse是回调函数,从Downloader返回response后,接受response而执行的方法;分别裁剪xx作为文件名,将网页的<body>内容保存至两个文件;

【3-1】爬“取”:     ---------利用Xpath

XPath举例:

【3-2】重写spider的分析方法      【原方法是为了保存,验证用】

【4】将数据存放到Item容器中

【5】导出保存

scrapy crawl domz -o items.json -t json

#-o 指导出 后跟文件名字【需要后缀

#-t 表示导出的格式,此处用json

#此处代码意思是,运行爬虫domz,并以json格式导出保存为items.json

实战中注意点:

1.  刚开始入门的时候,要爬取能爬的网站。。。有些是有反爬虫机制的,不然还会以为是代码错了导致没爬到数据

2.  xpath()    中:

比如爬<html><head><title>xxx   的内容,

如果已经sites = sel.xpath('/html/head/title') 

接下来用site = sites.xpath('text()').extract()    即可获取Selector对象的列表字符串化后的unicode字符串

而不是site = sites.xpath('/text()').extract()  或者 site = sites.xpath('title/text()').extract()

 3.定义Item容器 中, 要和存放容器时使用的一致,不可无中生有

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-05-22 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档