浅谈scrapy框架安装使用
Scrapy笔记: 一 安装:
pip3 install wheel
pip3 install lxml
pip3 install pyopenssl
pip3 install -i https://mirrors.aliyun.com/pypi/simple/ pypiwin32
下载文件(twisted): https://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted pip3 install 文件路径\Twisted-19.2.0-cp36-cp36m-win_amd64.whl 6.pip3 install scrapy 7.scrapy 测试安装是否成功 Scrapy 1.6.0 - no active project ...
二 scrapy命令 全局(所有路径下都可以使用): bench Run quick benchmark test fetch Fetch a URL using the Scrapy downloader
# 会把爬虫程序创建在当前目录下
genspider Generate new spider using pre-defined templates
# 可以在当前目录下启动爬虫程序
runspider Run a self-contained spider (without creating a project)
runspider 爬虫程序的绝对路径
settings Get settings values
shell Interactive scraping console
# 创建scrapy项目
startproject Create new project
version Print Scrapy version
view
局部(在scrapy项目中可以使用):
bench Run quick benchmark test
# 监测语法
check Check spider contracts
# 根据爬虫程序的name 启动爬虫程序
crawl Run a spider
# !!!!!!!重点使用它!!!!!!!
scrapy crawl name
edit Edit spider
fetch Fetch a URL using the Scrapy downloader
genspider Generate new spider using pre-defined templates
# 查看所有的爬虫程序
list List available spiders
parse Parse URL (using its spider) and print the results
runspider Run a self-contained spider (without creating a project)
settings Get settings values
shell Interactive scraping console
startproject Create new project
version Print Scrapy version
view Open URL in browser, as seen by Scrapy
三 创建scrapy项目 Django: # 创建项目 django-admin startproject P1 cd P1
# 创建实例
python3 manage.py app01
python3 manage.py bbs
Scrapy:
# 创建项目
scrapy startproject spider_project
cd spider_project
# 创建爬虫程序
scrapy genspider chouti chouti.com
# 执行爬虫程序
scrapy crawl chouti
# 取消日志
scrapy crawl --nolog chouti
settings:
# 不遵循反爬协议
ROBOTSTXT_OBEY = False
main.py
from scrapy.cmdline import execute
# execute(['scrapy', 'crawl', 'baidu'])
execute("scrapy crawl --nolog chouti".split(' '))
main.py
from scrapy.cmdline import execute
# execute(['scrapy', 'crawl', 'baidu'])
execute("scrapy crawl --nolog chouti".split(' '))
Spiders.chouti.py
class ChoutiSpider(scrapy.Spider):
def parse(self, response):
def parse_user_index(self, response):
items.py
# 新闻items类
class SpiderNewListItem(scrapy.Item):
# define the fields for your item here like:
# 新闻链接
new_url = scrapy.Field()
# 新闻文本
new_text = scrapy.Field()
# 点赞数
nice_num = scrapy.Field()
# 新闻ID
new_id = scrapy.Field()
# 评论数
commit_num = scrapy.Field()
# 新闻详情
new_content = scrapy.Field()
# 发表新闻用户的主页
user_link = scrapy.Field()
# 新闻items类
class SpiderUserListItem(scrapy.Item):
# define the fields for your item here like:
# 新闻链接
new_url = scrapy.Field()
# 新闻文本
new_text = scrapy.Field()
# 点赞数
nice_num = scrapy.Field()
# 新闻ID
new_id = scrapy.Field()
# 评论数
commit_num = scrapy.Field()
# 新闻详情
new_content = scrapy.Field()
# 用户名
user_name = scrapy.Field()
pipelines.py
class SpiderNewListPipeline(object):
def __init__(self, ip, port, mongo_db):
self.ip = ip
self.port = port
self.mongo_db = mongo_db
# 必须配置才可以启动ITEM_PIPELINES
ITEM_PIPELINES = {
'spider_project.pipelines.SpiderNewListPipeline': 300,
'spider_project.pipelines.SpiderUserListPipeline': 301,
}
# MongoDB配置信息
IP = 'localhost'
PORT = 27017
DB = 'chouti'
浅谈scrapy框架安装使用的更多相关文章
- Python爬虫进阶三之Scrapy框架安装配置
初级的爬虫我们利用urllib和urllib2库以及正则表达式就可以完成了,不过还有更加强大的工具,爬虫框架Scrapy,这安装过程也是煞费苦心哪,在此整理如下. Windows 平台: 我的系统是 ...
- Python爬虫进阶之Scrapy框架安装配置
Python爬虫进阶之Scrapy框架安装配置 初级的爬虫我们利用urllib和urllib2库以及正则表达式就可以完成了,不过还有更加强大的工具,爬虫框架Scrapy,这安装过程也是煞费苦心哪,在此 ...
- 手撸ORM浅谈ORM框架之基础篇
好奇害死猫 一直觉得ORM框架好用.功能强大集众多优点于一身,当然ORM并非完美无缺,任何事物优缺点并存!我曾一度认为以为使用了ORM框架根本不需要关注Sql语句如何执行的,更不用关心优化的问题!!! ...
- 手撸ORM浅谈ORM框架之Add篇
快速传送 手撸ORM浅谈ORM框架之基础篇 手撸ORM浅谈ORM框架之Add篇 手撸ORM浅谈ORM框架之Update篇 手撸ORM浅谈ORM框架之Delete篇 手撸ORM浅谈ORM框架之Query ...
- 手撸ORM浅谈ORM框架之Update篇
快速传送 手撸ORM浅谈ORM框架之基础篇 手撸ORM浅谈ORM框架之Add篇 手撸ORM浅谈ORM框架之Update篇 手撸ORM浅谈ORM框架之Delete篇 手撸ORM浅谈ORM框架之Query ...
- 手撸ORM浅谈ORM框架之Delete篇
快速传送 手撸ORM浅谈ORM框架之基础篇 手撸ORM浅谈ORM框架之Add篇 手撸ORM浅谈ORM框架之Update篇 手撸ORM浅谈ORM框架之Delete篇 手撸ORM浅谈ORM框架之Query ...
- 手撸ORM浅谈ORM框架之Query篇
快速传送 手撸ORM浅谈ORM框架之基础篇 手撸ORM浅谈ORM框架之Add篇 手撸ORM浅谈ORM框架之Update篇 手撸ORM浅谈ORM框架之Delete篇 手撸ORM浅谈ORM框架之Query ...
- Scrapy 框架 安装 五大核心组件 settings 配置 管道存储
scrapy 框架的使用 博客: https://www.cnblogs.com/bobo-zhang/p/10561617.html 安装: pip install wheel 下载 Twisted ...
- Scrapy 框架 安装
Scrapy 框架 Scrapy是用纯Python实现一个为了爬取网站数据.提取结构性数据而编写的应用框架,用途非常广泛. 框架的力量,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页 ...
随机推荐
- android android studio error
SIMPLE: Error computing //cmake 包含的跨平台头文件或者是源文件路径出错
- Angular JS - 3 - Angular JS 双向数据绑定
一 .数据绑定 1. 数据绑定: 数据从一个地方A转移(传递)到另一个地方B, 而且这个操作由框架来完成2. 双向数据绑定: 数据可以从View(视图层)流向Model(模型,也就是数据), 也可以从 ...
- spring+springMVC+mybatis框架整合——配置文件说明
如下图 web.xml配置说明: spring配置文件说明-1: spring配置文件说明-2: spring配置助记: 扫注(base) 读配(loc) 数据源(和comb(使用c3p0数据源)) ...
- Git 中的一些其他常用命令
1.查看提交的历史版本(git log) 我们可以使用 git log 命令来查看提交的历史版本. 默认不用任何参数的话,git log 会按提交时间列出所有的更新,最近的更新排在最上面.每个版本都有 ...
- JS基础入门篇(四)—this的使用,模拟单选框,选项卡和复选框
1.this的使用 this js中的关键字 js内部已经定义好了,可以不声明 直接使用 this的指向问题 1. 在函数外部使用 this指向的是window 2. 在函数内部使用 有名函数 直接调 ...
- Eclipse对web项目设置请求路径(与项目名称不同)
可以在下图位置,进行修改 也可以修改项目的路径下的.settings文件夹下的org.eclipse.wst.common.component的value属性 <property name=&q ...
- SQL语句:随机取3条不重复的记录
随机取3条不重复的记录 [Access]select top 3 * from tablename order by rnd(id); [SqlServer]select top 3 * from t ...
- (appium+python)UI自动化_01_自动化环境搭建【MAC版】
Appium简介 Appium是一个开源的.跨平台的测试框架,主要用来进行app UI自动化,适用于原生应用.混合应用和移动网页应用(H5页面).目前支持Python.JavaScript.Objec ...
- Bootstrap+Ajax+HTML 动态表格分页
1.HTML页面:(bootstrap的模态框) 触发模态框: <div class="col-lg-6"> <div class="input-g ...
- Ubuntu添加字体
在字体库下载打包好的字体: 方正字体全库:http://www.downza.cn/soft/8203.html 华文字体:http://www.onlinedown.net/soft/635126. ...