一 爬虫框架(scrapy)

Posted lovershowtime

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一 爬虫框架(scrapy)相关的知识,希望对你有一定的参考价值。

一 .scrapy

https://www.cnblogs.com/wupeiqi/p/6229292.html

1.scrapy简介

Scrapy 是一个用 Python 实现的为了爬取网站数据、提取结构性数据的应用框架。
Scrapy 使用Twisted异步网络库来处理网络通讯。
使用 Scrapy 框架可以高效(爬取效率和开发效率)完成网站数据爬取任务。
pip install pywin32
pip install zope.interface
pip install Twisted
pip install pyOpenSSL
pip install Scrapy

2. 创建项目

创建:

scrapy startproject Demo   第一: 创建启动项目

H:web_creeperweb_scrapy>scrapy startproject dome
New Scrapy project dome, using template directory d:pythonlibsite-packagesscrapy	emplatesproject, created in:
    H:web_creeperweb_scrapydome

You can start your first spider with:
    cd dome
    scrapy genspider example example.com                表示生成一个爬虫    表示爬虫名称    爬虫的起始地址


H:web_creeperweb_scrapydome>   scrapy genspider baidu baidu.com   第二部: 创建爬虫


第三步: 启动爬虫    scrapy  crawl chouti  默认要打印日志
                  scrapy  crawl   baidu  --nolog  不打印日志




爬虫项目的目录结构:

items.py:用来存放爬虫爬取的数据的模型
middlewares.py:用来存放各种中间件的文件
pipelines.py:用来将items的模型存储到本地磁盘
settings.py:存储本爬虫的一些配置信息,比如:请求头、ip代理池等
spiders目录:存储所有的爬虫代码
scrapy.cfg:项目的配置文件

 技术图片 技术图片  技术图片

 关于windows编码

#
-*- coding: utf-8 -*- import sys,os,io sys.stdout=io.TextIOWrapper(sys.stdout.buffer,encoding=‘gb18030‘) import scrapy class BaiduSpider(scrapy.Spider): name = baidu # 爬虫名称 allowed_domains = [baidu.com] # allowed_domains 定向爬虫(就是只爬一个网址) start_urls = [http://baidu.com/] # 起始url def parse(self, response): # 回调函数 封装了所有响应数据 print(response,type(response),111111111111111) print(response.text)
scrapy parse函数为什么执行了,打印不了内容

解决:

1.找到settings.py配置文件

把ROBOTSTXT修改为False

2.然后退出重启一下scrapy(pychram)

3.直接启动项目scrapy crawl baidu --nolog(不打印日志)

 

以上是关于一 爬虫框架(scrapy)的主要内容,如果未能解决你的问题,请参考以下文章

Python爬虫教程-30-Scrapy 爬虫框架介绍

python网络爬虫实战-Scrapy,深入理解scrapy框架,解决数据抓取过程

十分钟入门爬虫框架scrapy

初识python爬虫框架Scrapy

09 Scrapy框架在爬虫中的使用

Python之Scrapy安装