Scrapy递归抓取数据存入数据库(示例二)
来源:互联网 发布:淘宝哪个买正品乔丹 编辑:程序博客网 时间:2024/06/05 08:11
参考:http://www.hulufei.com/post/Some-Experiences-Of-Using-Scrapy
scrapy爬取了链接之后,如何继续进一步爬取该链接对应的内容?
parse可以返回Request列表,或者items列表,如果返回的是Request,则这个Request会放到下一次需要抓取的队列,如果返回items,则对应的items才能传到pipelines处理(或者直接保存,如果使用默认FEED exporter)。那么如果由parse()方法返回下一个链接,那么items怎么返回保存? Request对象接受一个参数callback指定这个Request返回的网页内容的解析函数(实际上start_urls对应的callback默认是parse方法),所以可以指定parse返回Request,然后指定另一个parse_item方法返回items:
以爬取南京大学bbs为例:
# -*- coding: utf-8 -*-
import chardet
from scrapy.spider import BaseSpider
from scrapy.selector import HtmlXPathSelector
from scrapy.utils.url import urljoin_rfc
from scrapy.http import Request
from tutorial.items import bbsItem
class bbsSpider(BaseSpider):
#print chardet.detect(content)
#print content
return (author,board,time)
2. pipelines文件:
# -*- coding: utf-8 -*-
# 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
from scrapy import log
from twisted.enterprise import adbapi
from scrapy.http import Request
from scrapy.exceptions import DropItem
from scrapy.contrib.pipeline.images import ImagesPipeline
import time
import MySQLdb
import MySQLdb.cursors
import socket
import select
import sys
import os
import errno
class MySQLStorePipeline(object):
self.dbpool = adbapi.ConnectionPool('MySQLdb',
0 0
- Scrapy递归抓取数据存入数据库(示例二)
- Scrapy递归抓取数据存入数据库(示例二)
- Scrapy抓取数据存入数据库(示例一)
- Scrapy抓取数据存入数据库(示例一)
- scrapy递归抓取网页数据
- Scrapy爬虫入门系列3 将抓取到的数据存入数据库与验证数据有效性
- scrapy爬虫数据存入mysql数据库
- 用Scrapy抓取豆瓣小组数据(二)
- 用Scrapy抓取豆瓣小组数据(二)
- scrapy抓取 W3School (二)
- scrapy无法存入数据
- python多线程抓取数据存入数据库的方法
- scrapy 抓取豆瓣数据(1)
- scrapy抓取豆瓣数据(2)
- 数据抓取学习(爬虫via scrapy)
- Scrapy抓取网页数据
- Python Scrapy抓取数据
- scrapy数据抓取框架简介
- node.js之框架
- MYSQL MVCC 实现原理
- jenkins安装,配置git项目
- 从零开始的 Python 爬虫速成指南
- android6.0/7.0打开系统权限
- Scrapy递归抓取数据存入数据库(示例二)
- 网络传输中MAC地址表、ARP表和路由表详解
- 利用ftp命令+bat程序实现本地数据定时备份到服务器
- cogs 732. [网络流24题] 试题库
- spring+struts2+mybatis 框架下图片上传
- 在迅捷CAD编辑器中修改文字大小的办法
- nginx反向代理和正向代理
- vuejs安装
- AttributeError: 'module' object has no attribute 'best_partition'