scrapy instantiation
2024-08-19 21:18:09
start
from scrapy.cmdline import execute
execute(['scrapy', 'crawl', 'jokespider'])
items.py
import scrapy class JokejiItem(scrapy.Item):
title=scrapy.Field()
url=scrapy.Field() class ListItem(scrapy.Item):
title=scrapy.Field()
url=scrapy.Field()
spider.py
from scrapy.linkextractors import LinkExtractor
from scrapy.spiders import CrawlSpider, Rule
from jokeji.items import JokejiItem,ListItem class JokespiderSpider(CrawlSpider):
name = 'jokespider'
allowed_domains = ['zizi.cn']
start_urls = ['http://www.zizi.cn'] rules = [
Rule(LinkExtractor(allow=r'/list\w+.htm'), callback='parse_list', follow=True),
Rule(LinkExtractor(allow=r'/jokehtml/\w+/\d+\.htm',deny=(r'/list')), callback='parse_item', follow=True),
] def parse_item(self, response):
item=JokejiItem()
item['title']='from content'
return item def parse_list(self,response):
item=ListItem()
item['url']="from list........"+response.url
return item
pipelines.py
class JokejiPipeline(object):
def process_item(self, item, spider):
print(item,item__class__,spider)
通过 item__class__ 是什么类来决定如何处理数据
当然 ItemClass() 类里可以加
def __str__(self):
return 'ItemClass"
更直观.
最新文章
- 分享一个绿色版本 sql server 查询器,
- C语言指针变量作为函数参数
- C#如何获取CPU处理器核心数量
- Unity3d+Jenkins 自动编译iOS、Android版本
- jsp实现计算器
- C#中HashTable的用法示例1
- 11g导入大量包含子分区的数据时表空间不足
- Unity 3D Framework Designing(7)——IoC工厂理念先行
- Kudu存储实战笔记
- js分析 邮箱地址加密 [email protected]
- FHQ Treap摘要
- Lerning Entity Framework 6 ------ Working with in-memory data
- 使用SpringBoot集成ActiveMQ
- rest-framework之响应器(渲染器)
- Android 经典欧美小游戏 guess who
- IOS中的网络编程详解
- [Php] Deprecated: Function ereg_replace() is deprecated
- 孤的Scrapy官文阅读进程
- 【idea】如何破解idea
- golang回调函数的例子
热门文章
- Android使得Fragment 切换时不重新实例化
- 【LeetCode每天一题】Valid Parentheses(有效的括弧)
- 乐固加固后windows下实现给apk签名
- nodejs 模块moment格式化时间,获取当前时间的前一天时间
- 笔记本(ThinkPad)怎样关闭触摸板
- php 编译安装 mysql.so
- iOS UI进阶-5.0 蓝牙/加速计/传感器
- (已解决)Eclipsez中打不开c++文件,显示Editor could not be initialized.
- 如何用html把文本框外观格式设为只显示底部的横线
- c#中枚举类型的定义与使用