天猫商城源代码变更对爬虫的影响

 断断续续学习爬虫已经半月有余,沉迷bug中无法自拔。这两天准备搭建基于requests库的小型网络爬虫标准框架用于天猫商城的任意商品的爬取。基础代码非常简洁明了,比其他代码清晰不少。然而昨天还能使用的代码,今天早上就不能用了,无法爬取任何内容,但是无代码错误。最后还是用print大法(大赞print大法)对各个变量和列表进行打印,逐个分析,发现是name列表出了问题,然而name列表是直接用beautifulsoup库的汤匙soup直接烹饪出来的新鲜列表,那么肯定是网页的问题,遂重新找到原网页代码,认真分析发现,框架结构已经变了。那么原因就找到了,我们就可以对症下药了,最后我只改动了两处地方:
name = soup("p","productTitle")

ls.append([price[counter].em.contents[1], name[counter].a.contents[0].string])

 **心得:**由于对python语言和爬虫原理不是特别熟练,调本次bug特别费劲,第一就是找原因的时候一开始没想起来print大法,在自己胡乱试错,好在最后解决了,以后调bug都要遵循基本思路,不能乱来;第二就是修改上两句时,由于python语言的基本功不是特别扎实,改动时走了很多弯路,特别是contents到现在也没明白0、1、2的位置是如何区分的,我目前的理解是contents选取的是某一标签的第i个属性值,(i是从后往前的)但是注意的是,实践过程中发现,requests爬取的标签顺序与查看网页源代码的顺序是不一致的,所以要先print再选取顺序。若是理解有错,欢迎指出!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值