Scrapy爬虫案例-淘宝比价定向爬虫学习笔记

Scrapy爬虫案例-淘宝比价定向爬虫学习笔记说明Scrapy爬虫案例-淘宝比价定向爬虫学习笔记学习教程:Python网络爬虫与信息提取授课老师:嵩天官方网站:https://python123.io教程链接:https://python123.io/index/courses/804“淘宝比价定向爬虫”实例功能描述目标:获取淘宝搜索页面的信息,提取其中的商品名称和价格理解:淘宝的搜索接口翻页的处理技术路…

大家好,又见面了,我是你们的朋友全栈君。

说明

Scrapy爬虫案例-淘宝比价定向爬虫学习笔记

学习教程:Python网络爬虫与信息提取
授课老师:嵩天
官方网站:https://python123.io
教程链接:https://python123.io/index/courses/804

“淘宝比价定向爬虫”实例

功能描述

目标:获取淘宝搜索页面的信息,提取其中的商品名称和价格

理解:

  • 淘宝的搜索接口
  • 翻页的处理
  • 技术路线:requests‐bs4‐re

关键词:“蕾丝裙”

https://s.taobao.com/search?q=%E8%95%BE%E4%B8%9D%E8%A3%99&js=1&stats_click=search_radio_all%3A1&initiative_id=staobaoz_20170105&ie=utf8&bcoffset=0&ntoffset=6&p4ppushleft=1%2C48&s=1
https://s.taobao.com/search?q=%E8%95%BE%E4%B8%9D%E8%A3%99&js=1&stats_click=search_radio_all%3A1&initiative_id=staobaoz_20170105&ie=utf8&bcoffset=0&ntoffset=6&p4ppushleft=1%2C48&s=44
https://s.taobao.com/search?q=%E8%95%BE%E4%B8%9D%E8%A3%99&js=1&stats_click=search_radio_all%3A1&initiative_id=staobaoz_20170105&ie=utf8&bcoffset=0&ntoffset=6&p4ppushleft=1%2C48&s=88

每页44个商品

搜索接口和翻页的URL对应属性

定向爬虫的可行性

https://s.taobao.com/robots.txt
User‐agent: *
Disallow: /

请注意:这个例子仅探讨技术实现,请不要不加限制的爬取该网站

程序的结构设计

步骤1:提交商品搜索请求,循环获取页面

步骤2:对于每个页面,提取商品名称和价格信息

步骤3:将信息保存到txt

实例编写

#!/usr/bin/env python
# coding=utf-8
""" 项目描述:获取淘宝搜索页面的信息,提取其中的商品名称和价格 运行环境:win7 64 + python3.7 三方库:fake_useragent 代码详解:https://yangyang188.coding.me/ 文件: TaobaoSpider.py 创建时间:2019/8/11 9:21 创建者:yangyang 博客: yangyang188.coding.me """
import requests
import re
from fake_useragent import UserAgent
# 设置随机ua
ua = UserAgent()
headers = { 
'User-Agent': ua.random,
'cookie': '***'
}
def getHTMLText(url):
try:
r = requests.get(url, timeout=30, headers=headers)
r.raise_for_status()
r.encoding = r.apparent_encoding
return r.text
except BaseException:
return ""
def parsePage(ilt, html):
try:
plt = re.findall(r'\"view_price\"\:\"[\d\.]*\"', html)
tlt = re.findall(r'\"raw_title\"\:\".*?\"', html)
for i in range(len(plt)):
# eval去除最外层的""
price = eval(plt[i].split(':')[1])
title = eval(tlt[i].split(':')[1])
ilt.append([price, title])
except BaseException:
print("异常")
def printGoodsList(ilt):
with open('淘宝.txt', 'w', encoding='utf-8') as f:
tplt = "{:4}\t{:8}\t{:16}\n"
f.write(tplt.format("序号", "价格", "商品名称"))
count = 0
for g in ilt:
count = count + 1
f.write(tplt.format(count, g[0], g[1]))
# tplt = "{:4}\t{:8}\t{:16}"
# print(tplt.format("序号", "价格", "商品名称"))
# count = 0
# for g in ilt:
# count = count + 1
# print(tplt.format(count, g[0], g[1]))
def main():
goods = '蕾丝裙'
depth = 2
start_url = 'https://s.taobao.com/search?q=' + goods
infoList = []
for i in range(depth):
try:
url = start_url + '&s=' + str(44 * i)
html = getHTMLText(url)
parsePage(infoList, html)
except BaseException:
continue
printGoodsList(infoList)
if __name__ == '__main__':
main()

结果

序号  	价格      	商品名称            
1	99.00   	中长款黑色蕾丝裙鱼尾包臀裙半身裙女秋季
2	128.00  	裙子女夏季2019新款水溶蕾丝半身裙a字裙鱼尾裙中长款高腰包臀裙
3	94.00   	凯莉欧原创2019夏季新款绣花网纱拼接蕾丝木耳花边连衣裙女
4	299.50  	ONLY2019秋季新款chic气质蕾丝修身收腰百褶连衣裙女|119107650
5	349.50  	ONLY2019秋季新款名媛气质蕾丝中长款连衣裙收腰显瘦女|119207582
6	199.00  	茵曼旗舰店小清新裙子夏连衣裙女裙2019新款女装蕾丝复古收腰长裙
7	382.70  	罗衣短袖连衣裙女2019夏装新款优雅蕾丝修身包臀雾蓝色裙子00079
8	385.70  	罗衣原创蕾丝连衣裙2019春夏新款气质雾蓝色修身淑女中长裙子7108
9	259.00  	茵曼旗舰店长裙女连衣裙长款2019夏装新款纯棉复古蕾丝很仙的裙子
10	399.00  	Vero Moda2019春季新款ins风蕾丝七分袖印花连衣裙|31917C549
11	499.00  	智熏裙法式桔梗裙2019新款夏装新款很仙的蕾丝网纱法国小众连衣裙
12	188.00  	2019流行裙子新款夏女韩版显瘦遮肚蕾丝连衣裙仙女超仙甜美小黑裙
13	388.00  	蕾丝连衣裙女2019夏新款法国小众气质显瘦中长款无袖打底背心裙子
14	185.00  	法国小众很仙的小个子蕾丝连衣裙2019新款夏甜美裙子仙女超仙森系
15	388.00  	2019夏装新款流行裙子夏很仙的法国小众蕾丝连衣裙女中长款仙女裙
16	799.00  	Vero Moda2019秋季新款蕾丝面料五分袖V领连衣裙|31936Z513
17	389.00  	网纱蕾丝裙子2019气质宽松小个子娃娃款刺绣超仙女白色连衣裙
18	399.00  	ZARA  2019新款 女装 珠宝纽扣饰蕾丝连衣裙04786061251
19	398.00  	SitiV领智熏法式蕾丝连衣裙七分袖修身小众A字中长气质高端复古夏
20	339.00  	伊芙丽鱼尾裙女裙子2019秋装新款A字裙中长款蕾丝裙黑色半身裙女
21	398.00  	秋水伊人法式蕾丝连衣裙2019新款夏装女eggsshop丧系裙子森系超仙
22	757.00  	JUZUI/玖姿官方旗舰店2019夏季新款气质蕾丝拼接时尚中长连衣裙女
23	1893.00 	sandro2019春夏新款女装蕾丝镂空凸花中长连衣裙R20656E
24	1430.00 	sandro2019春夏新款女装浪漫蕾丝连衣裙R20680E
25	148.00  	纯棉连衣裙女流行夏装2019新款妈妈纯棉蕾丝短袖休闲气质显瘦裙子
26	782.00  	JUZUI/玖姿官方旗舰店女装2019夏季新款短袖蕾丝印花中长连衣裙女
27	988.00  	DAZZLE地素 2019夏装新款纯色镂空装饰水溶蕾丝半身裙女2G2S2347B
28	169.00  	黑色半身裙女2019夏新款a字裙子中长款高腰网纱百褶学生蛋糕裙秋
29	1399.00 	商场同款DOUBLOVE贝爱2019春夏新款蕾丝连衣裙星星刺绣通透雅致
30	1098.00 	真丝连衣裙2019新款夏季女桑蚕丝高端时尚奢华大牌蕾丝白色裙子
31	1086.00 	SNIDEL2019春夏新品 甜美蕾丝钩花镂空鱼尾包中长半裙SWFS191137
32	169.00  	蕾丝连衣裙性感一字肩仙女超仙甜美沙滩裙子2019流行夏天海边度假
33	1128.00 	朗姿 裙子女2019夏装新款A字裙高腰修身V领条纹短袖蕾丝连衣裙女
34	428.00  	三彩2019夏季新款蕾丝雪纺连衣裙短袖假两件仙女流行蛋糕长裙子女
35	1518.00 	DAZZLE地素 秋装新款性感花纹收绳斜襟蕾丝连衣裙女2F3O4067T
36	1428.00 	YINER音儿女装2019夏季新款薄款蕾丝花边拼接喇叭袖收腰连衣裙
37	218.00  	阔太太连衣裙两件套2019新款夏季蕾丝披肩中长款显瘦气质过膝裙子
38	339.90  	阿卡雪纺连衣裙女2019夏新款蕾丝流行裙子收腰显瘦超仙甜美仙女裙
39	685.00  	【商场同款】太平鸟女装2019夏装新黑色蕾丝收腰连衣裙 A5FA92350
40	79.00   	白色蕾丝半身裙女夏一步裙新款高腰显瘦中长款包臀a字半身长裙子
41	830.00  	SNIDEL2019春夏新品复古宫廷风荷叶边蕾丝全棉连衣裙SWFO191038
42	499.00  	Five Plus2019新款女夏装蕾丝连衣裙短袖V领荷叶边长裙子高腰镂空
43	764.00  	ochirly 欧时力2019新款夏装带蕾丝连衣裙女1ZH2084160
44	1590.00 	dzzit地素 2019秋专柜新款淑女千层蕾丝绣花连衣裙女3G3O506
45	1345.00 	Miss Sixty2019新款秋季设计感荷叶边修身蕾丝很仙的连衣裙女
46	708.00  	YINER音儿女装2019夏季新款纯色时尚蕾丝花边拼接包臀鱼尾半身裙
47	199.00  	诗凡黎很仙的纱裙女蕾丝2019新款中长款高腰雪纺a字裙女半身裙
48	1396.00 	影儿诗篇女装2019秋季新款撞色丝绒织带钉珠蕾丝网纱连衣裙
49	389.00  	网纱蕾丝裙子2019气质宽松小个子娃娃款刺绣超仙女白色连衣裙
50	528.00  	2019夏季新款女装大牌欧美时尚黑色蕾丝裙子长款真丝桑蚕丝连衣裙
51	299.00  	ONLY2019秋季新款领口系带气质名媛蕾丝修身连衣裙女|119161530
52	399.00  	IVENI/依维妮2019新款洋气蕾丝网纱长款过膝堆堆蛋糕裙连衣裙女潮
53	399.50  	ONLY2019秋季新款气质一字肩蕾丝百褶收腰连衣裙女|119161511
54	1968.00 	影儿YINER音儿女装2019秋季新款蕾丝拼接两件套连衣裙8C69305636
55	499.50  	Vero Moda2019夏季新款宴会礼服丝滑里衬收腰蕾丝连衣裙31927B568
56	299.50  	ONLY2019秋季新款桔梗领口气质蕾丝套装雪纺连衣裙女|119107609
57	559.00  	Five Plus2019新款女夏装蕾丝连衣裙女高腰蝴蝶结短裙子荷叶花边
58	1728.00 	YINER音儿女装2019秋新款优雅蕾丝花边拼接花朵装饰旗袍连衣裙
59	499.00  	智熏裙法式桔梗裙2019新款夏装新款很仙的蕾丝网纱法国小众连衣裙
60	299.50  	ONLY2019秋季新款chic气质蕾丝修身收腰百褶连衣裙女|119107650
61	1277.00 	JUZUI/玖姿官方旗舰店2019夏季新款蕾丝拼接收腰显瘦中长连衣裙女
62	259.00  	ZARA 新款 女装 凸纹蕾丝短连衣裙 04387223800
63	299.00  	ZARA新款 女装 凸纹蕾丝装饰小打褶连衣裙 05598226942
64	299.90  	蕾丝拼接连衣裙女夏装2019新款很仙的法国小众裙子女复古雪纺裙
65	668.00  	DAZZLE 地素 夏装新款 蕾丝镂空刺绣花高腰吊带连衣裙薄 2A2O331
66	148.00  	纯棉连衣裙女流行夏装2019新款妈妈纯棉蕾丝短袖休闲气质显瘦裙子
67	179.90  	乐町浪漫中长款裙子2019夏季新款蕾丝显瘦ins超火的半身a字纱裙女
68	2153.00 	sandro2019春夏新款女装 撞色蕾丝领连衣裙 R20499E
69	558.00  	欧洲站明星同款女装2019新款时尚气质小香风修身白色蕾丝连衣裙夏
70	268.00  	潘南奎 隐秘型性感 设计感蕾丝不规则连衣裙女无袖收腰气质小黑裙
71	649.00  	ONLY2019秋季新款仙女蕾丝网纱收腰连衣裙女|119307528
72	1430.00 	sandro2019春夏新款女装浪漫蕾丝连衣裙R20680E
73	1368.00 	YINER音儿女装2019夏季新款圆点娃娃领镂空蕾丝收腰连衣裙
74	188.00  	2019流行裙子新款夏女韩版显瘦遮肚蕾丝连衣裙仙女超仙甜美小黑裙
75	149.00  	欧洲站2019夏装新款宽松显瘦时尚蕾丝拼接连衣裙女胖mm鱼尾裙子潮
76	298.00  	初恋女长裙微胖显瘦2019夏装喇叭袖蕾丝拼接印花雪纺大码mm连衣裙
77	79.00   	白色蕾丝半身裙女夏一步裙新款高腰显瘦中长款包臀a字半身长裙子
78	1488.00 	YINER音儿女装2019秋季新款衬衫领纽扣拼接钩花镂空蕾丝连衣裙
79	649.00  	ONLY2019秋季新款仙女透视蕾丝松紧收腰网纱连衣裙女|119207578
80	218.00  	两件套连衣裙女夏季2019新款流行气质中长款蕾丝披肩雪纺套装裙子
81	849.00  	Vero Moda2019春季新款蕾丝拼接面料圆领连衣裙|31917B504
82	1098.00 	珂莱蒂尔蕾丝连衣裙2019秋季新款超仙甜美法式高腰显瘦短袖裙子女
83	148.00  	于momo民国大小姐复古风连衣裙斜门襟超仙气质收腰旗袍蕾丝裙
84	1893.00 	sandro2019春夏新款女装蕾丝镂空凸花中长连衣裙R20656E
85	1548.00 	YINER音儿女装2019夏季新款中国风钩花蕾丝拼接旗袍领收腰连衣裙
86	1718.00 	珂莱蒂尔蕾丝旗袍连衣裙2019秋季新款气质时尚刺绣花收腰显瘦裙子
87	168.00  	蕾丝连衣裙2019新款夏韩版显瘦小黑裙长裙气质收腰网纱流行裙子女
88	615.12  	SELECTED思莱德秋季新品撞色蕾丝拼接女士修身连衣裙S|41932J516
89	349.00  	ONLY2019秋季新款桔梗喇叭袖蕾丝雪纺连衣裙中长款女|119107681
90	259.90  	乐町蕾丝拼接连衣裙2019夏装新款超仙甜美很仙的法国小众雪纺裙子
91	688.00  	19妻子的浪漫旅行明星章子怡baby杨颖同款蕾丝镂空度假长款连衣裙
92	799.00  	宋慧乔明星同款2019新款夏收腰显瘦气质裙子女流行白色蕾丝连衣裙
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/153140.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Linux抓包命令tcpdump「建议收藏」

    Linux抓包命令tcpdump「建议收藏」tcpdump是一个抓包工具,用于抓取互联网上传输的数据包tcpdump是一个用于截取网络分组,并输出分组内容的工具。凭借强大的功能和灵活的截取策略,使其成为类UNIX系统下用于网络分析和问题排查的首选工具tcpdump支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息#常用选项-i#监听哪一个网卡-n #不把ip解析成主机名-nn #不把端口解析成应用层协议-c #指定抓包的数量-S #不把随机序

  • 数组与对象的相互转换[通俗易懂]

    数组与对象的相互转换[通俗易懂]数组与对象的相互转换数组转对象需求letarr=[{label:’男’,value:0},{label:’女’,value:1}]//转换为letobj={0:’男’,1:’女’}代码实现letarr=[{label:’男’,value:0},{label:’女’,value:1}]//方案一//思路//1、使用数组的forEach方法遍历数组//2、定义一个空对象//3、将遍历得到的每一个对象中的value值当做新对象的

  • 武侠金曲「建议收藏」

    十首香港武侠金曲唱出无限中国意境

  • pytorch实现textCNN

    pytorch实现textCNNpytorch实现textCNN1.原理2.数据预处理2.1转换为csv格式2.2观察数据分布2.3由文本得到训练用的mini-batch数据3.模型4.训练脚本5.main函数6.引用1.原理2014年的一篇文章,开创cnn用到文本分类的先河。ConvolutionalNeuralNetworksforSentenceClassification原理说简单也简单…

  • vscode 前端常用必备插件汇总。「建议收藏」

    vscode 前端常用必备插件汇总。「建议收藏」持续更新,欢迎推荐好的插件。1.vscode基础智能能提示类插件2.vscode美化优化类插件3.vscode各大框架辅助插件4.markdown工具类插件

  • wget找不到命令

    wget找不到命令由于系统中未安装导致,运行yum-yinstallwget 即可;

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号