scrapy-items
items定义字段名字
import scrapy class HrItem(scrapy.Item):
# define the fields for your item here like:
title = scrapy.Field()
position = scrapy.Field()
pub_date = scrapy.Field()
当怕爬取到数据时
item = HrItem()
item['title'] = data.xpath("./td[1]/a/text()").extract_first()
item['position'] = data.xpath("./td[2]/text()").extract_first()
item['pub_date'] = data.xpath("./td[5]/text()").extract_first()
pipelines储存进mongodb, 需将数据转换成dict
from pymongo import MongoClient
client = MongoClient()
collection = client['SpiderAnything']['hr'] # 库名 表名 class SpideranythingPipeline(object):
def process_item(self, item, spider):
if isinstance(item, HrItem): # 判断对象 选择管道
print(item)
collection.insert(dict(item))
return item
scrapy-items的更多相关文章
- scrapy框架之items项目
Items 主要目标是从非结构化来源(通常是网页)提取结构化数据.Scrapy爬虫可以将提取的数据作为Python语句返回.虽然方便和熟悉,Python dicts缺乏结构:很容易在字段名称中输入错误 ...
- scrapy2_初窥Scrapy
递归知识:oop,xpath,jsp,items,pipline等专业网络知识,初级水平并不是很scrapy,可以从简单模块自己写. 初窥Scrapy Scrapy是一个为了爬取网站数据,提取结构性数 ...
- scrapy wiki资料汇总
See also: Scrapy homepage, Official documentation, Scrapy snippets on Snipplr Getting started If you ...
- 第一节:Scrapy开源框架初探
Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架. 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中. 具体开发流程如下: 一.确定待抓取网站 当您需要从某 ...
- scrapy 抓取动态网页
-- coding: utf-8 -- ''' gouwu.sogou.com Spider, Created on Dec, 2014 version: 1.0 author: chenqx @ht ...
- 爬虫基础(五)-----scrapy框架简介
---------------------------------------------------摆脱穷人思维 <五> :拓展自己的视野,适当做一些眼前''无用''的事情,防止进入只关 ...
- 5、爬虫系列之scrapy框架
一 scrapy框架简介 1 介绍 (1) 什么是Scrapy? Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架,非常出名,非常强悍.所谓的框架就是一个已经被集成了各种功能(高性能 ...
- python 全栈开发,Day137(爬虫系列之第4章-scrapy框架)
一.scrapy框架简介 1. 介绍 Scrapy一个开源和协作的框架,其最初是为了页面抓取 (更确切来说, 网络抓取 )所设计的,使用它可以以快速.简单.可扩展的方式从网站中提取所需的数据.但目前S ...
- 四: scrapy爬虫框架
5.爬虫系列之scrapy框架 一 scrapy框架简介 1 介绍 (1) 什么是Scrapy? Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架,非常出名,非常强悍.所谓的框架 ...
- scrapy (三)各部分意义及框架示意图详解
一.框架示意图 Scrapy由 Python 编写,是一个快速.高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据.Scrapy用途广泛,可以用于数据挖掘.监测和自动化测试 ...
随机推荐
- MCNN多层神经网络论文笔记
论文原文 https://www.cv-foundation.org/openaccess/content_cvpr_2016/papers/Zhang_Single-Image_Crowd_Coun ...
- SqlServer表中添加新字段
表中添加新字段ALTER TABLE 表名 ADD 字段名 VARCHAR(20) NULL 表中添加自增idalter table lianxi add id int primary key IDE ...
- 虚拟机U盘挂载
虚拟机中U盘挂载 一.连接U盘 虚拟机中 虚拟机→可移动设备→Syntek USB......(U盘的名称)→连接: 二.查看U盘的UUID “lsblk -f”: UUID为 35E6-9 ...
- 吴恩达机器学习-octave笔记
隐藏前缀提示符:PS1('>>') 不显示打印内容:;结尾 字符串:a=’hi’ 屏幕输出:disp(sprint(‘2 decimals:%0.2f’,a)) 生成集合(矩阵):V=1: ...
- ngnix 500错误原因分析
参考http://www.cnblogs.com/huqiang/p/5333975.html
- Python全栈之路----类型转换
显式转换 int(x [,base]) ⇒ 将x转换为一个十进制的整数 long(x [,base]) ⇒ 将x转换为一个十进制的长整数 float(x) ⇒ 将x转换为一个浮点数 str(objec ...
- SpringCloud分布式配置中心所遇问题
1.如果更换了获取配置文件的名称一定要在客户端配置文件的name更改2.不建议服务器设置下拉到git仓库的配置文件地址,可能导致更换地址之后无法获取到新更改的
- 账户和联系人 Accounts and Contacts 译
原文链接: https://crmbook.powerobjects.com/basics/searching-and-navigation/understanding-accounts-and-co ...
- 修改linux服务器的MySQL密码
1. 首先用管理员权限登陆Linux: 2. 输入:vi /etc/my.cnf 回车.然后按“i”键盘,在这个文件中的最后一行输入:skip-grant-tables 然后按 esc ...
- Java高级特性 第4节 输入输出流
一.使用I/O操作文件 关键步骤: 使用File类操作文件或目录属性 使用FileInputStream类读文本文件 使用FileOutputStram类写文本文件 使用BufferedReader类 ...