scrapy爬虫 简单入门
1. 使用cmd+R命令进入命令行窗口,并进入你需要创建项目的目录
cd 项目地址
2. 创建项目
scrapy startproject <项目名>
cd <项目名>
例如
scrapy startproject quote
cd quote
3. 编写item.py文件(定义需要爬取的文件)
import scrapy
class QuoteItem(scrapy.Item):
    # define the fields for your item here like:
    text = scrapy.Field()
    author = scrapy.Field()
    tags = scrapy.Field()
4. 创建爬虫文件
scrapy genspider <爬虫文件名> <域名>
例如
scrapy genspider myspider quotes.toscrape.com
5. 编写myspider.py文件
import scrapy
from quote.items import QuoteItem
class MyspiderSpider(scrapy.Spider):
    name = 'myspider'
    allowed_domains = ['quotes.toscrape.com']
    start_urls = ['http://quotes.toscrape.com/']
    def parse(self, response):
        for each in response.xpath('//div[@class="quote"]'):
            item = QuoteItem()
            item['text'] = each.xpath('./span/text()').extract()[0]
            item['author'] = each.xpath('.//small/text()').extract()[0]
            list = each.xpath('.//a[@class="tag"]/text()').extract()
            #列表形式的文件不能存入mysql,需要弄成str形式
            item['tags']= '/'.join(list)
            yield item
        next = response.xpath('//li[@class="next"]/a/@href').extract()[0]
        url = response.urljoin(next)
        yield scrapy.Request(url=url,callback=self.parse)
6. 编写pipelines.py(如果需要存入到数据库)
import pymysql.cursors
class QuotePipeline(object):
    def __init__(self):
        self.connect = pymysql.connect(
            host='localhost',
            user='root',
            password='',
            database='quotes',
            charset='utf8',
        )
        self.cursor = self.connect.cursor()
    def process_item(self, item, spider):
        item = dict(item)
        sql = 'insert into quote(text,author,tags) values(%s,%s,%s)'
        self.cursor.execute(sql,(item['text'],item['author'],item['tags']))
        self.connect.commit()
        return item
    def close_spider(self,spider):
        self.cursor.close()
        self.connect.close() 
7. 修改setting.py文件
ROBOTSTXT_OBEY = True
8. 运行
scrapy crawl myspider
9. 保存为csv文件
scrapy crawl quotes –o quotes.csv
参考资料
https://www.cnblogs.com/shuimohei/p/10491833.html
https://blog.csdn.net/ck784101777/article/details/104468780/
scrapy爬虫 简单入门的更多相关文章
- Scrapy 爬虫框架入门案例详解
		欢迎大家关注腾讯云技术社区-博客园官方主页,我们将持续在博客园为大家推荐技术精品文章哦~ 作者:崔庆才 Scrapy入门 本篇会通过介绍一个简单的项目,走一遍Scrapy抓取流程,通过这个过程,可以对 ... 
- scrapy爬虫简单项目入门练习
		[写在开头] scrapy环境配置配置好了之后,开始着手简单项目入门练习.关于环境配置见上一篇博客https://www.cnblogs.com/ljxh/p/11235079.html. [正文部分 ... 
- Scrapy爬虫快速入门
		安装Scrapy Scrapy是一个高级的Python爬虫框架,它不仅包含了爬虫的特性,还可以方便的将爬虫数据保存到csv.json等文件中. 首先我们安装Scrapy. pip install sc ... 
- Python之Scrapy爬虫框架 入门实例(一)
		一.开发环境 1.安装 scrapy 2.安装 python2.7 3.安装编辑器 PyCharm 二.创建scrapy项目pachong 1.在命令行输入命令:scrapy startproject ... 
- scrapy爬虫框架入门教程
		scrapy安装请参考:安装指南. 我们将使用开放目录项目(dmoz)作为抓取的例子. 这篇入门教程将引导你完成如下任务: 创建一个新的Scrapy项目 定义提取的Item 写一个Spider用来爬行 ... 
- scrapy爬虫框架入门实例(一)
		流程分析 抓取内容(百度贴吧:网络爬虫吧) 页面: http://tieba.baidu.com/f?kw=%E7%BD%91%E7%BB%9C%E7%88%AC%E8%99%AB&ie=ut ... 
- 【python】Scrapy爬虫框架入门
		说明: 本文主要学习Scrapy框架入门,介绍如何使用Scrapy框架爬取页面信息. 项目案例:爬取腾讯招聘页面 https://hr.tencent.com/position.php?&st ... 
- Python爬虫简单入门及小技巧
		刚刚申请博客,内心激动万分.于是为了扩充一下分类,随便一个随笔,也为了怕忘记新学的东西由于博主十分怠惰,所以本文并不包含安装python(以及各种模块)和python语法. 目标 前几天上B站时看到一 ... 
- [Python] Scrapy爬虫框架入门
		说明: 本文主要学习Scrapy框架入门,介绍如何使用Scrapy框架爬取页面信息. 项目案例:爬取腾讯招聘页面 https://hr.tencent.com/position.php?&st ... 
随机推荐
- spring mvc 集成quartz
			首先quartz配置文件 # Default Properties file for use by StdSchedulerFactory # to create a Quartz Scheduler ... 
- Qt学习笔记-设计简易的截图工具软件
			现在利用Qt来实现一个截图软件. 首先,设计一个界面出来. 最上面有一个label用来显示图片. 然后使用QPixmap中的静态函数grabWindow来获取图片.这里需要一个winID.可以使用 Q ... 
- 数据库分库分表容量划分建议参考阿里云DRDS原则
			做分库分表的时候 一直想知道分库分表容量的最优规则有什么好的建议,以下是参考阿里云 DRDS 分库分表的规则,还是有一定的参考意义 . 
- Lambda 表达式实例
			public class Java8Tester {/*** 语法 lambda 表达式的语法格式如下: (parameters) -> expression 或 (parameters) -& ... 
- 企业集群架构-03-NFS
			NFS 目录 NFS NFS基本概述 NFS应用场景 NFS实现原理 NFS总结 NFS服务端安装 环境准备 服务端安装NFS 服务端NFS配置 服务端开机自启 服务端验证配置 NFS客户端挂载卸载 ... 
- docker获取Let's Encrypt永久免费SSL证书
			一 起因 官方的cerbot太烦了,不建议使用 还不如野蛮生长的acme.sh,而这里介绍docker运行cerbot获取Let's Encrypt永久免费SSL证书 二 选型 cerbot的证书不会 ... 
- 基于Python的邮件检测工具
			邮件快速检测工具 概要介绍 mmpi,是一款使用python实现的开源邮件快速检测工具库,基于community框架设计开发.mmpi支持对邮件头.邮件正文.邮件附件的解析检测,并输出json检测报告 ... 
- ASP.NET Core路由中间件[1]: 终结点与URL的映射
			目录 一.路由注册 二.设置内联约束 三.默认路由参数 四.特殊的路由参数 借助路由系统提供的请求URL模式与对应终结点(Endpoint)之间的映射关系,我们可以将具有相同URL模式的请求分发给应用 ... 
- Flink SQL 核心概念剖析与编程案例实战
			本次,我们从 0 开始逐步剖析 Flink SQL 的来龙去脉以及核心概念,并附带完整的示例程序,希望对大家有帮助! 本文大纲 一.快速体验 Flink SQL 为了快速搭建环境体验 Flink SQ ... 
- linux kernel操作GPIO函数
			一.头文件 #include <asm/gpio.h> 二.注册 GPIO int gpio_request(unsigned gpio, const char *label) 功能:申请 ... 
