Skip to content

Commit

Permalink
关于管道封装中修改了settings.py、items.py、dang.py等文件
Browse files Browse the repository at this point in the history
  • Loading branch information
JLUVicent committed Sep 16, 2021
1 parent 5c0c76b commit c4374cc
Show file tree
Hide file tree
Showing 5 changed files with 160 additions and 4 deletions.
7 changes: 7 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"launch": {

"configurations": [],
"compounds": []
}
}
7 changes: 7 additions & 0 deletions scrapy_dangdang_040/scrapy_dangdang_040/items.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,11 @@ class ScrapyDangdang040Item(scrapy.Item):
# name = scrapy.Field()
# 通俗的说就是要下载的数据都要什么

# 图片
src = scrapy.Field()
# 名称
name = scrapy.Field()
# 价格
price = scrapy.Field()

pass
19 changes: 19 additions & 0 deletions scrapy_dangdang_040/scrapy_dangdang_040/pipelines.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,26 @@
# useful for handling different item types with a single interface
from itemadapter import ItemAdapter

# 如果想要使用管道必须在settings中开启管道


class ScrapyDangdang040Pipeline:
# 爬虫文件开始之前就执行的方法,执行一次
def open_spider(self, spider):
self.fp = open('book.json', 'w', encoding='utf-8')
# item就是yield后面的book对象
# 以下这种模式不推荐,因为每传递一个对象,那么就打开一个文件,对文件操作太频繁
# def process_item(self, item, spider):
# # (1)write方法必须要写一个字符串不能是对象
# # (2)w模式会每一个对象都打开一次文件,覆盖之前的内容然后关闭,因此需要写a
# with open('book.json', 'a', encoding='utf-8')as fp:
# fp.write(str(item))

def process_item(self, item, spider):
self.fp.write(str(item))

return item
# 在爬虫文件执行完之后执行的方法执行一次

def close_spider(self, spider):
self.fp.close()
123 changes: 123 additions & 0 deletions scrapy_dangdang_040/scrapy_dangdang_040/spiders/book.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
{'name': ' 顾漫:你是我的荣耀【赠海报+明信片2张】 杨洋、迪丽热巴主演原著,签名本随机掉落',
'price': '¥18.00',
'src': '//img3m4.ddimg.cn/94/0/27869584-1_b_14.jpg'
}
{'name': ' 那个不为人知的故事',
'price': '¥21.00',
'src': '//img3m2.ddimg.cn/46/8/29124262-1_b_3.jpg'}{'name': ' 偷偷藏不住(共2册)',
'price': '¥38.87',
'src': '//img3m6.ddimg.cn/25/7/28525786-1_b_6.jpg'}{'name': ' 他在云之南(人气作家景行燃情悬爱力作!随书附赠“追光”书签。)',
'price': '¥19.90',
'src': '//img3m2.ddimg.cn/71/20/28541672-1_b_6.jpg'}{'name': ' 白色橄榄树(全二册)( 人气作家玖月晞继《少年的你,如此美丽》后突破之作!)',
'price': '¥34.90',
'src': '//img3m0.ddimg.cn/22/1/27850900-1_b_11.jpg'}{'name': ' 暗格里的秘密(陈哲远、徐梦洁主演同名电视剧原著小说。人气燃甜作家耳东兔子高口碑镌刻青春之作!)',
'price': '¥29.90',
'src': '//img3m1.ddimg.cn/87/12/27864231-1_b_14.jpg'}{'name': ' 他最野了(全2册)曲小蛐代表作',
'price': '¥46.80',
'src': '//img3m8.ddimg.cn/39/16/29150688-1_b_27.jpg'}{'name': ' 难哄2.完结篇(新增万字番外+作者后记!《偷偷藏不住》姊妹篇,温以凡×桑延 随书赠时光手账本+主题贴纸+宜荷日报+合影海',
'price': '¥34.40',
'src': '//img3m1.ddimg.cn/23/34/29259671-1_b_1.jpg'}{'name': ' 海棠微雨共归途2',
'price': '¥36.40',
'src': '//img3m4.ddimg.cn/60/20/29284854-1_b_55812.jpg'}{'name': ' 甜妻(全二册)',
'price': '¥29.00',
'src': '//img3m8.ddimg.cn/0/22/26446068-1_b_15.jpg'}{'name': ' 难哄(高人气畅销书作家竹已温柔、治愈口碑代表作!《偷偷藏不住》姊妹篇。)',
'price': '¥33.10',
'src': '//img3m8.ddimg.cn/59/5/29174468-1_b_2.jpg'}{'name': ' 嘿,小家伙',
'price': '¥21.00',
'src': '//img3m9.ddimg.cn/8/16/25185509-1_b_15.jpg'}{'name': ' 演技派 完结篇(限量亲笔签名版)',
'price': '¥34.50',
'src': '//img3m7.ddimg.cn/78/27/29296257-1_b_1.jpg'}{'name': ' 大哥(套装共2册)',
'price': '¥41.60',
'src': '//img3m8.ddimg.cn/72/12/23945598-1_b_25.jpg'}{'name': ' 一粒红尘·昭觉:独家纪念版(新老版本随机发货)',
'price': '¥19.00',
'src': '//img3m8.ddimg.cn/29/29/25065938-1_b_11.jpg'}{'name': ' 他和她的猫(“唧唧的猫”甜蜜电竞题材作品)',
'price': '¥17.50',
'src': '//img3m9.ddimg.cn/5/13/25299059-1_b_28.jpg'}{'name': ' 【限量亲签版】愿好春光(云拿月暖心治愈之作)',
'price': '¥29.80',
'src': '//img3m7.ddimg.cn/13/20/29287777-1_b_9.jpg'}{'name': ' 偏偏宠爱',
'price': '¥38.87',
'src': '//img3m1.ddimg.cn/86/23/28523471-1_b_6.jpg'}{'name': ' 美滋滋【限量亲签版】(全2册)',
'price': '¥48.80',
'src': '//img3m3.ddimg.cn/49/20/29291773-1_b_10.jpg'}{'name': ' 一生一世江南老(《周生如故》原著小说《一生一世美人骨》姊妹篇,作者说“美人骨的遗憾,都补在这篇里了”)',
'price': '¥25.20',
'src': '//img3m4.ddimg.cn/35/8/29171474-1_b_3.jpg'}{'name': ' 耳无尘事扰(全二册)【当当限量签名版+专享双人物CP卡】',
'price': '¥44.90',
'src': '//img3m4.ddimg.cn/98/25/29278754-1_b_9.jpg'}{'name': ' 明天也喜欢(新增近4000字小剧场,随书附赠:小剧场册子+剧情漫画+Q图贴纸+书签)',
'price': '¥34.40',
'src': '//img3m1.ddimg.cn/44/10/29275631-1_b_6.jpg'}{'name': ' 解药2',
'price': '¥34.40',
'src': '//img3m3.ddimg.cn/97/36/29289643-1_b_6.jpg'}{'name': ' 他与爱同罪(全二册)(人气作家北倾甜蜜深情之作。傅征的征途,是大海,也是燕绥。)',
'price': '¥29.90',
'src': '//img3m9.ddimg.cn/45/19/25347609-1_b_10.jpg'}{'name': ' 破云.2(作者新增番外《建宁男团出道记(上)》,随书附赠严峫江停登机牌透卡+主角海报+随机掉落人物卡牌!)',
'price': '¥34.40',
'src': '//img3m8.ddimg.cn/97/7/28973338-1_b_3.jpg'}{'name': ' 夏至未至 郭敬明著 同名电视剧原著小说',
'price': '¥11.00',
'src': '//img3m5.ddimg.cn/40/0/23962495-1_b_22.jpg'}{'name': ' 破云(高人气畅销书作家淮上震撼人心的刑侦悬疑巨作!蝉联平台季榜、年榜、订阅榜等各大金榜!随书赠送破云主角海报+高甜互动贴',
'price': '¥34.40',
'src': '//img3m5.ddimg.cn/89/29/27901655-1_b_4.jpg'}{'name': ' 他笑时风华正茂',
'price': '¥17.40',
'src': '//img3m6.ddimg.cn/48/0/25216536-1_b_3.jpg'}{'name': ' 余生,请多指教(肖战、杨紫主演电视剧原著小说)',
'price': '¥23.80',
'src': '//img3m3.ddimg.cn/73/27/27913123-1_b_18.jpg'}{'name': ' 总有人喜欢你的奇奇怪怪(特别懂年轻人的知名自媒体“原来是柒公子”文集。从未想过安分过一生,也注定有人愿与你同行。)',
'price': '¥24.90',
'src': '//img3m9.ddimg.cn/35/18/29266019-1_b_27.jpg'}{'name': ' 她的小梨窝',
'price': '¥26.30',
'src': '//img3m3.ddimg.cn/29/10/25265423-1_b_6.jpg'}{'name': ' 奶油味暗恋(上下册)(《全世界最好的你》电视剧原著小说。宋伊人、张耀领衔主演)',
'price': '¥33.00',
'src': '//img3m0.ddimg.cn/18/31/26183340-1_b_2.jpg'}{'name': ' 宁愿(全2册)印签版 藤萝为枝作品,网络原名:女配没有求生欲',
'price': '¥49.80',
'src': '//img3m5.ddimg.cn/92/21/29246375-1_b_12.jpg'}{'name': ' 熔城完结篇',
'price': '¥38.00',
'src': '//img3m8.ddimg.cn/38/25/29289188-1_b_6.jpg'}{'name': ' 你是迟来的欢喜(媲美《暗恋·橘生淮南》的青春心动故事,随书附赠电影节入场券和彩蛋海报。)',
'price': '¥19.90',
'src': '//img3m1.ddimg.cn/74/33/27856001-1_b_7.jpg'}{'name': ' 后来时间都与你有关(肖战李现同款书,韩寒 何炅 谢娜 吴昕 戚薇 阚清子等明星推荐)',
'price': '¥19.90',
'src': '//img3m6.ddimg.cn/19/5/25105726-1_b_28.jpg'}{'name': ' 狂恋你',
'price': '¥32.00',
'src': '//img3m9.ddimg.cn/95/28/29251229-1_b_3.jpg'}{'name': ' 海棠微雨共归途',
'price': '¥34.40',
'src': '//img3m4.ddimg.cn/92/36/29170244-1_b_3.jpg'}{'name': ' 十二年故人戏(墨宝非宝新书全两册,赠拉页婚书)',
'price': '¥41.80',
'src': '//img3m4.ddimg.cn/94/26/26910274-1_b_8.jpg'}{'name': ' 草莓印(全文修订、随书附含番外+、精美“草莓时光”明信片!)',
'price': '¥34.00',
'src': '//img3m7.ddimg.cn/71/35/27923417-1_b_7.jpg'}{'name': ' 【现货包邮】【特别印签本+彩绘飞机盒+海报+透卡+书签+温暖小剧场+测试卷】某某 木苏里 著 一级律师后青春小说畅销书',
'price': '¥34.40',
'src': '//img3m2.ddimg.cn/52/29/1677929272-1_b_33.jpg'}{'name': ' 浮生物语5下·裟椤敖炽',
'price': '¥59.80',
'src': '//img3m6.ddimg.cn/83/12/29246366-1_b_10.jpg'}{'name': ' 小清欢(在我开始确定,我喜欢的人终于也有那么一点点喜欢我的那一刻。)',
'price': '¥18.00',
'src': '//img3m9.ddimg.cn/37/28/25217119-1_b_3.jpg'}{'name': ' 他从火光中走来(人气作者耳东兔子燃情暖心力作,倾力呈现烈焰火光中的赤诚之爱。收录全新番外,随书附赠“一世荣光”明信片)',
'price': '¥28.00',
'src': '//img3m1.ddimg.cn/52/24/29130901-1_b_5.jpg'}{'name': ' 我喜欢你,像风走了八千里(随机签名版)',
'price': '¥24.90',
'src': '//img3m1.ddimg.cn/16/1/26515681-1_b_18.jpg'}{'name': ' 解药2(亲笔签名版)',
'price': '¥35.80',
'src': '//img3m8.ddimg.cn/68/18/29289218-1_b_6.jpg'}{'name': ' 等风轻抚你(全二册)(网络原名《等风热吻你》)',
'price': '¥38.87',
'src': '//img3m2.ddimg.cn/80/20/28971242-1_b_3.jpg'}{'name': ' 【限量印签版】深情可抵岁月长·完结篇(春风榴火代表作网络原名:重回我爸当校草那几年)',
'price': '¥31.80',
'src': '//img3m3.ddimg.cn/94/6/29259643-1_b_8.jpg'}{'name': ' 好想和你在一起(上下册)(林清振执导同名影视剧腾讯热播中,人气作家北倾甜蜜力作。新增万字甜蜜番外,超值附赠Missing',
'price': '¥24.90',
'src': '//img3m8.ddimg.cn/44/22/24008138-1_b_21.jpg'}{'name': ' 君子之交(全二册)(大神级作家蓝淋虐心代表作!随书收录历年全部番外,另赠精美书签,超值书册《圆满纪》!)',
'price': '¥25.70',
'src': '//img3m3.ddimg.cn/91/1/23248063-1_b_3.jpg'}{'name': ' 四世生花',
'price': '¥24.90',
'src': '//img3m7.ddimg.cn/18/20/24011577-1_b_27.jpg'}{'name': ' 天才基本法(全4册)',
'price': '¥78.00',
'src': '//img3m2.ddimg.cn/69/20/29113692-1_b_16.jpg'}{'name': ' 浪花一朵朵·修订纪念版(共2册)',
'price': '¥34.80',
'src': '//img3m6.ddimg.cn/66/2/25094586-1_b_3.jpg'}{'name': ' 幸福不脱靶(沐清雨《你是我的城池营垒》引领篇, 军旅言情口碑担当!影视剧重磅打造中!)',
'price': '¥22.50',
'src': '//img3m6.ddimg.cn/15/4/29286096-1_b_6.jpg'}{'name': ' 你的名字。(新海诚亲笔撰写,同名电影原作小说简体中文版,撩动万千观众的青春情怀)',
'price': '¥27.40',
'src': '//img3m9.ddimg.cn/7/8/24157789-1_b_15.jpg'}{'name': ' 桃花债',
'price': '¥16.70',
'src': '//img3m5.ddimg.cn/31/34/23960605-1_b_63.jpg'}{'name': ' 你给的甜(全二册)作者限量特签,当当专享精美书签!',
'price': '¥48.16',
'src': '//img3m7.ddimg.cn/15/7/29286987-1_b_4.jpg'}{'name': ' 提灯映桃花(上、下册)',
'price': '¥40.80',
'src': '//img3m1.ddimg.cn/1/7/24162931-1_b_14.jpg'}{'name': ' 没有人像你',
'price': '¥22.90',
'src': '//img3m3.ddimg.cn/7/18/29245003-1_b_3.jpg'}{'name': ' 第十二秒(法学系才女Sunness悯心悬爱力作!知名影视公司重磅打造影视剧!)',
'price': '¥21.40',
'src': '//img3m0.ddimg.cn/42/36/25089810-1_b_1.jpg'}
8 changes: 4 additions & 4 deletions scrapy_dangdang_040/scrapy_dangdang_040/spiders/dang.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import scrapy
from scrapy_dangdang_040.items import ScrapyDangdang040Item


class DangSpider(scrapy.Spider):
Expand Down Expand Up @@ -31,9 +32,8 @@ def parse(self, response):
price = li.xpath(
'.//span[@class="search_now_price"]/text()').extract_first()

print(src, name, price)
book = ScrapyDangdang040Item(src=src, name=name, price=price)

# price = response.xpath(
# '//ul[@id="component_59"]/li//span[@class="search_now_price"]/text()')
# print(price.extract())
# 获取一个book就将book交给pipelines
yield book
pass

0 comments on commit c4374cc

Please sign in to comment.