浅谈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实现一个为了爬取网站数据.提取结构性数据而编写的应用框架,用途非常广泛. 框架的力量,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页 ...
随机推荐
- [转]Win10企业版无法访问共享文件夹
Win10系统电脑在更新后,当我们访问共享文件夹时可能会出现如下图所示窗口,导致我们无法访问.那么这个问题如何解决呢?具体如下:1. 首先我们按“Windows+R键”打开运行窗口.2. 在该窗口文本 ...
- 在Developerkit开发板上运行blink例程
本文将介绍怎么样在VScode环境下,将AliOS Tings提供的blink例程在Developerkit开发板上运行起来. DeveloperKit开发板 在例程中分别用到两个led和一个按钮 ...
- 汇编指令ADD
格式: ADD OPRD1,OPRD2 功能: 两数相加(不带进位) 例子: add ax,bx add ax,ax 解释:
- jQuery-resize和scroll的性能优化
## 下面是进行测试和研究怎么实现的用的 Document 改变页面大小试试 Document 滚动滚动条试试
- CSS最基础的语法和三种引入方式
**CSS语法** CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明.选择器通常是您需要改变样式的 HTML 元素. selector {declaration1; declaration ...
- JumpServer堡垒机安装笔记
厂商文档--一步一步安装CentOS(https://jumpserver.readthedocs.io/zh/master/setup_by_centos.html) 厂商文档--简单优化(http ...
- css 样式小窍门
css 样式小窍门 <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...
- Visual Studio Code如何编写运行C、C++
Visual Studio Code如何编写运行C.C++ 作者:知乎用户链接:https://www.zhihu.com/question/30315894/answer/154979413来源:知 ...
- 【学习总结】Python-3- 类型判断之 isinstance 和 type 的区别
菜鸟教程-Python3-基本数据类型 关于类型查询: type() 函数:可以用来查询变量所指的对象类型 用 isinstance()函数:判断是否是某个类型 两者的区别: type()不会认为子类 ...
- Springboot整合Hikari数据库连接池,密码加密
1.application.yml配置 spring: datasource: jdbcUrl: jdbc:mysql://127.0.0.1:3306/jby?serverTimezone=UTC& ...