出处:http://blog.chinaunix.net/uid-23500957-id-3788157.html
1、创建项目
scrapy startproject fjsen
2、定义items--items.py
# Define here the models for your scraped items
#
# See documentation in:
# http://doc.scrapy.org/topics/items.html
from scrapy.item import Item, Field
class FjsenItem(Item):
# define the fields for your item here like:
# name = Field()
title=Field()#文章标题
link=Field()#文章链接
addtime=Field()#文章时间
3、编写爬虫
新建一个fjsen_spider.py,内容如下:
#-*- coding: utf-8 -*-
from scrapy.spider import BaseSpider
from scrapy.selector import HtmlXPathSelector
from fjsen.items import FjsenItem
class FjsenSpider(BaseSpider):
name="fjsen"
allowed_domains=["fjsen.com"]
start_urls=['http://www.fjsen.com/j/node_94962_'+str(x)+'.htm' for x in range(2,11)]+['http://www.fjsen.com/j/node_94962.htm']
def parse(self,response):
hxs=HtmlXPathSelector(response)
sites=hxs.select('//ul/li')
items=[]
for site in sites:
item=FjsenItem()
item['title']=site.select('a/text()').extract()
item['link'] = site.select('a/@href').extract()
item['addtime']=site.select('span/text()').extract()
items.append(item)
return items
4、入库---在pipelines.py中处理
# Define your item pipelines here
#
# Don't forget to add your pipeline to the ITEM_PIPELINES setting
# See: http://doc.scrapy.org/topics/item-pipeline.html import sqlite3
from os import path
from scrapy import signals
from scrapy.xlib.pydispatch import dispatcher
class FjsenPipeline(object):
def __init__(self):
self.conn=None
dispatcher.connect(self.initialize,signals.engine_started)
dispatcher.connect(self.finalize,signals.engine_stopped)
def process_item(self,item,spider):
self.conn.execute('insert into fjsen values(?,?,?,?)',(None,item['title'][0],'http://www.fjsen.com/'+item['link'][0],item['addtime'][0]))
return item
def initialize(self):
if path.exists(self.filename):
self.conn=sqlite3.connect(self.filename)
else:
self.conn=self.create_table(self.filename)
def finalize(self):
if self.conn is not None:
self.conn.commit()
self.conn.close()
self.conn=None
def create_table(self,filename):
conn=sqlite3.connect(filename)
conn.execute("""create table fjsen(id integer primary key autoincrement,title text,link text,addtime text)""")
conn.commit()
return conn
5、修改配置--setting.py
ITEM_PIPELINES=['fjsen.pipelines.FjsenPipeline']
6、执行
scrapy crawl fjsen
==生成一个data.sqlite的数据库文件
相关推荐
python库。 资源全名:nimbus_scrapy-3.1.4-py2.py3-none-any.whl
Scrapy框架需要安装的库 Scrapy-1.6.0-py2.py3-none-any.whl 和Twisted-18.9.0-cp37-cp37m-win_amd64.whl
scrapy_redis-0.6.8-py2.py3-none-any.whl 使用方式 pip install xx.whl 即可
Scrapy-2.3.0-py2.py3-none-any.whl 安装Scrapy所需要的资源,安装命令:pip target 本地资源路径
3. **Scrapy-Redis架构**: Scrapy-Redis通过将待爬取URLs和请求放入Redis队列,实现多个Scrapy爬虫实例并行工作,从而提高整体爬取效率。其主要组件包括:Request Queue(请求队列)、Scheduler(调度器)、Spider ...
Scrapy是一个强大的Python爬虫框架,它为开发者提供了一套高效、灵活的工具,用于爬取网站并提取结构化数据。在这个项目中,我们将利用Scrapy来爬取豌豆荚(Wandoujia)网站上的信息,然后将数据存储在MongoDB数据库...
Scrapy-1.5.0-py2.py3-none-any.whl可以用,放心xiasssasa
scrapy-fake-useragent, 基于伪 User Agent的随机中间件 scrapy-fake-useragent基于伪用户模型的随机 USER-AGENT 中间件。 它基于的使用统计数据( 从一个实际数据库数据库) 获取了 User-Agent 字符串。安装最简单的...
scrapy-random-useragent, Scrapy中间件为每个请求设置一个随机的User Agent 随机 USER-AGENT由于你使用默认的USER-AGENT 或者一般的,你的nautilus蜘蛛会被服务器识别和阻塞?使用这里 random_useragent 模块并为每...
Python常用库,官方原版whl文件,文件下载到本地后, 直接终端 pip install xxx.whl 安装 scrapy需要twisted库支持,先要安装该库
而`scrapy-amazon-robot-middleware-jondot-0.2.3.tar.gz`是针对Amazon网站的一个特定中间件,它扩展了Scrapy的功能,帮助开发者在爬取亚马逊网站时避免违反Robots.txt协议。 Robots.txt是一个网页服务器上的文本...
而Scrapy-Scylla-Proxies则是Scrapy的一个扩展,它解决了在大规模网络爬取过程中如何有效地利用代理IP来避免被目标网站封禁的问题。 Scrapy-Scylla-Proxies的核心特性包括: 1. **代理池管理**:该库能维护一个...
Scrapy是一个强大的Python爬虫框架,它为网络数据抓取提供了高效的工具集,适用于各种规模的项目。在本文中,我们将深入探讨Scrapy的基础知识,包括它的架构、安装、项目创建以及基本的爬虫编写。 首先,让我们了解...
Scrapy是一个强大的Python爬虫框架,它为开发者提供了一套高效、灵活的工具,用于爬取网站并提取结构化数据。在这个案例中,我们利用Scrapy来爬取食品抽检结果,这涉及到食品安全领域的数据获取。食品安全是公众关注...
资源分类:Python库 所属语言:Python 资源全名:nimbus_scrapy-3.5.5-py2.py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
京东、天猫、滚雪球网站爬虫_scrapy----
总结来说,这个项目展示了如何使用Python的Scrapy和BeautifulSoup库抓取并解析城市二手房数据。通过理解和掌握Scrapy的组件及其工作原理,以及如何利用BeautifulSoup解析网页,我们可以构建出自己的数据抓取系统,...
在这个"Scrapy爬虫项目-爬取图片"中,我们将探讨如何利用Scrapy来抓取网页上的图片资源,这对于数据分析、图像处理或者网站镜像构建等场景非常有用。 一、Scrapy框架基础 1. **安装与环境配置**:首先,你需要在...
python3+Scrapy爬虫实战(三) —— 使用代理IP,爬取“去哪儿”景点信息 地址址:https://blog.csdn.net/finn_wft/article/details/81112590
Python3版本第三方库Scrapy的安装包,Scrapy-2.2.0-py3-none-any.whl下载请注意Python版本3