本文主要介绍了用cookie访问淘宝购物车的scrapy框架。本文通过示例代码的说明为您做了详细的介绍,对您的学习或工作有一定的参考价值。有需要的朋友可以参考一下。
scrapy框架简介
Scrapy是一个用纯Python编写的抓取网站数据,提取结构化数据的应用框架,应用广泛。
框架的威力,用户只需要定制开发几个模块就可以轻松实现一个爬虫,对于抓取网页内容和各种图片非常方便。
scrapy架构图
Crapy Engine:负责Spider、ItemPipeline、Downloader和Scheduler之间的通信、信号和数据传输。
调度器:负责接收引擎发来的请求,按照一定的方式安排,加入团队,在引擎需要的时候返回给引擎。
下载器:负责下载Scrapy引擎发送的所有请求,并将获取的响应返回给Scrapy引擎,交给Spider处理。
蜘蛛(crawler):负责处理所有的响应,分析并从中提取数据,获取项目字段所需的数据,向引擎提交待跟进的URL,再次进入调度器。
物品管道:负责处理从Spider获取的物品并进行后期处理(详细分析、过滤、存储等)的地方。).
下载器中间件:你可以把它想象成一个可以定制和扩展下载功能的组件。
蜘蛛中间件(Spider Middleware):你可以把它理解为一个功能组件,可以定制引擎的扩展和操作,与蜘蛛进行通信(比如输入蜘蛛的响应;和来自蜘蛛的请求)
正文开始
我们知道,有些网页必须登录才能访问其内容。Scrapy登录一般通过三种方式实现。
1.在第一次请求中直接携带用户名和密码。
2.你必须访问一次目标地址,服务器会返回一些参数,比如验证码,一些特定的加密字符串等。并通过相应的手段进行分析和提取。您可以在第二次请求时带上这些参数。你可以参考https://www.jb51.net/article/190242.htm
3.不用花里胡哨,只需手动登录成功,然后提取cookie,添加到访问头中即可。
本文以第三个为例,scrapy可以用cookie访问购物车。
1.手动登录你的淘宝账号,从中提取cookie,如下图所示。
2.在2.cmd的虚拟环境中创建一个项目(scrapy startproject taobao)
3.pycharm打开项目目录,在终端输入(scrapygen spider I taobao.com ),得到如下目录结构
4.在4.setting中设置相应的配置。
5.把业务代码写在itaobao里。让我们直接访问购物车,而不添加cookie。代码如下:
进口废品
ItaobaoSpider类(scrapy。蜘蛛):
name='itaobao '
allowed_domains=['taobao.com']
start_urls=[
'https://cart.taobao.com/cart.htm?SPM=a1z 02.1 . a 2109 . d 1000367 . ooeipqnekot=1470211439694 ']#第一时间直接访问购物车
定义解析(自身,响应):
打印(响应.文本)
响应信息如下
这显然意味着跳转到登录页面。
6.言归正传,正确的代码如下。您需要重写start_requests()方法,该方法可以向爬虫的起始网站返回请求。这个返回的请求相当于start_urls,start_requests()返回的请求将替换start_urls中的请求。
进口废品
ItaobaoSpider类(scrapy。蜘蛛):
name='itaobao '
allowed_domains=['taobao.com']
# start _ URLs=[' https://cart . Taobao . com/cart . htm?SPM=a1z 02.1 . a 2109 . d 1000367 . ooeipqnekot=1470211439694 ']
#需要覆盖start_requests方法
定义开始请求(自身):
URL=' https://cart . Taobao . com/cart . htm?' SPM=a1z 02.1 . a 2109 . d 1000367 . ooeipqnekot=1470211439694 '
#这里的cookie是手动登录后从浏览器粘贴的值。
cookie=' thw=cncookie 2=16 b 0 Fe 13709 f2a 71 DC 06 ab 15 DCC 97 b;_ TB _ token _=Fe 3431 e 5 Fe 755;'\
_ samesite _ flag _=trueubn=pucn=中心;t=538 b 39347231 f 03177d 588275 ABA 0 e 2 f;"\
tk _ trace=otxowsbnwn 9 dpyormje/opdy 8 zvmw/q5 hoqmmikd 74 aj+t/ncz % ' "
' 2 fsix 9 gywsq 4 bvikthhdmcr 6 rwsf 0 P6 xw 5 ZT/guec 9 VF 0 ei 7 jzusghuwa 4 CBM no 9 ehk GK 53 r % '
2bb+icex 98 frg 5 tz 52811 c+ndmtnlzc 2 zkbobpdybzzulabyyn 9 redp 9 bnfgp 1 qvaatbsnj 35 zbvlf 09 e % '”
2 BVR ru 823 q7j 4严艺丹1拉格希利诺//ZK 6 omhvvhqa 4 Cu 2 iavahy 5 mzodyjhxmopbiz 9pg=' \
“CNA=5 C3兹夫勒考8 sysq 2 GK围棋”;SG cookie=E3 ekj 6 lrpl/frzigbfn;unb=5786033"\
UC 3=id2=vvl/7zj+jynunk 2=r7 k presenter 6 VBL 9 kdze 14 LG 2=tower 48 syiivrska==vt 3=F8 db gsy 36 E3 ewq+uq=;'\
CSG=c99 a3 3d;lgc=\ u 5929 \ U4 ed 9 \ u 8349 \ u 5929 \ U4 ed 9 \ u 8349;cookie 17=vvl/7zj+jynu;"\
dnk=\ u 5929 \ U4 ed 9 \ u 8349 \ u 5929 \ U4 ed 9 \ u 8349;SKT=4257 A8 fa 00 b 349 a7;现有商店=MTU 5 mzq 0 MDI 0 MQ=="\
UC 4=NK 4=0 @ rvtt 67 i5或' 9+t+qfc 65 xfqrup 0 rgva/s=id 4=0 @ vh93 ox g6 vzhztpjcralofhu 4 I=;'\
轨道尼克=\ u 5929 \ U4 ed 9 \ u 8349 \ u 5929 \ U4 ed 9 \ u 8349;-==破烂熊乐园倾情奉献==-本字幕仅供学习交流,严禁用于商业用途\
-==破烂熊乐园倾情奉献==-本字幕仅供学习交流,严禁用于商业用途:sg=一般事务人员草三维(3d);_ NK _=\ u 5929 \ U4 ed 9 \ u 8349 \ u 5929 \ U4 ed 9 \ u 8349;"\
cookie 1=vamiexc 8 jqc 30 wy 9q 29 G2/mphk Z4 fpvnrq wnz 77 CPE 8=;' tfstk=cdd pbi 0-kb hyf 5 IB _ 1 frm wx 4 zarclfa '
_ qsredgti 7 elp 5 pgxu 5c-kqm 2 ZD 2 hgh ce;S7-1200可编程控制器:v=0UC S1=cookie 21=VFC/uz9 ain bzcookie 15=VFC/uz9 ayeyq 2g==cookie '
16=wqg 3 DMC 9 upapbhgz 5 qberfxlca=existe=0 cookie 14=uotv 75 elpkbpq=cart _ m=0 ' \
_ m _ H5 _ tk=CBE 3780 EC 220 a 82 Fe 10 e 066 b 8184d 23 f _ 159341560729;-=伊甸园美剧http://sfile。ydy。com=-荣誉出品本字幕仅供学习交流,严禁用于商业途径\
l=ebxacqbchurejbo 5 aour za 7796 IRB 8 spzanbmi ca 6 MC 1 HQ 0 pnqd 5j-mrdtjgtchre-pwbuvjdebwn 4 dbnrmphx j _ n0 xnxvo .'\
ISG=bj 2 drkvln 8 ww-ht 9 n195 vkuwrxutemhpgqkf 9 ikfrafrxijad 3 DBM raq 1 una '
cookies={ }
#年#月#日提取键值对请求头中携带饼干!饼干必须是一个字典,所以要把原生的饼干!饼干字符串转换成饼干!饼干字典
对于甜饼干中的饼干.拆分(;)):
键,值=cookie。拆分(=,1)
cookie[key]=值
屈服挠请求(url=url、cookies=cookies、callback=self.parse)
定义剖析(自我、回应):
打印(响应.文本)
响应信息如下(部分片段):
很明显这是自己购物车的真实源代码。
好了,大功告成啦,接下来就可以按照业务需求用xpath(自己喜欢用这种方式)提取自己想要的信息了。
总结美元
到此这篇关于斗志昂扬,你好吗框架携带饼干!饼干访问淘宝购物车的文章就介绍到这了,更多相关斗志昂扬,你好吗框架饼干!饼干内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。