浅谈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实现一个为了爬取网站数据.提取结构性数据而编写的应用框架,用途非常广泛. 框架的力量,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页 ...
随机推荐
- 每天一个linux命令:which(17)
which which命令用于查找并显示给定命令的绝对路径,环境变量PATH中保存了查找命令时需要遍历的目录.which指令会在环境变量$PATH设置的目录里查找符合条件的文件.也就是说,使用whic ...
- Oracle中表连接的运行原理
Oracle优化器会自动选择以下三种方式的一种运行表连接,但在数据环境上配合强化选择合适的方式或强制使用某种方式是SQL优化的需要: NESTED LOOP 对于被连接的数据子集较小的情况, ...
- 偏函数(partial)
from functools import partial def add(a,b,c,d): return a+b+c+d add = partial(add,1,2) print(add(3,4) ...
- mybatis 动态Sql的模糊查询
where teacher.tname like concat(concat(#{tName}),'%') 2:distinct的使用 下面先来看看例子: table id name 1 ...
- 【FPGA】 007 --Verilog中 case,casez,casex的区别
贴一个链接:http://www.cnblogs.com/poiu-elab/archive/2012/11/02/2751323.html Verilog中 case,casez,casex的区别 ...
- 【CF1238E】Keyboard Purchase(状压DP,贡献)
题意:有m种小写字符,给定一个长为n的序列,定义编辑距离为序列中相邻两个字母位置差的绝对值之和,其中字母位置是一个1到m的排列 安排一种方案,求编辑距离最小 n<=1e5,m<=20 思路 ...
- MySQL的limit分页性能测试加优化
日常我们分页时会用到MySQL的limit字段去处理,那么使用limit时,有什么需要优化的地方吗?我们来做一个试验来看看limit的效率问题:环境:CentOS 6 & MySQL 5.71 ...
- git开发实战:问题解决
git作为一个高效的开发协作工具,其版本管理和分支管理是其高效管理代码的体现.但是我们在平时开发中,往往要一边修着bug一边做着新功能,这样有可能就会遇到以下几种场景 1.改完bug忘记切换分支了,代 ...
- Linux下实现MySQL数据库每天定时自动备份
使用MySQL自带的备份工具+ crontab 的方式来实现备份 1.查看磁盘挂载信息(选一个容量合适的) #df -h 2.创建备份目录 为了方便,在/home保存备份文件: cd /home/ga ...
- maven导出工程pom文件中依赖的jar包
在工程的pom文件里加上下面plugin, 然后执行mvn clean package -Dmaven.test.skip=true命令,就可以lib包收集起来了 <plugin> < ...