之前很多小伙伴都用淘宝进行了采购,如果能够知道各个商品的价格信息,相信很多小伙伴都愿意比对后下单,毕竟优惠的商品总是那么诱人。我们需要用到python爬虫的知识来解决,接下来就一起看看爬取信息的步骤吧。
首先确定个目标,根据某关键词搜索,从获取的页面信息中提取商品标题、价格、发货地点、付款人数、以及点名这些信息,这些信息都是直接在网页源代码中。
那我们就可以先构造url了,先把头头拿过来https://s.taobao.com/search?+q=编码后的字符+&s=(页码 - 1) x 44,url编码可以用urllib.parse.quote(‘字符’)就行了。
key = '手套' key = parse.quote(key) url = 'https://s.taobao.com/search?q={}&s={}' page = 20 for i in range(page): url_page = url.format(key, i * 44) print(url_page)
然后当我们按照正常步骤构造headers请求头,用get()方法获取的时候,用爬虫爬淘宝,需要“假登录”,获取头部headers信息,我们只弄个ua是肯定不行的,然后把弄好的headers作为参数传给qequests.get(url,headers = header)就行了,那该咋弄这个headers啊,右键,打开浏览器抓包工具,然后network,ctrl+r刷新一波,在all里面找到search?开头的,对他进行右键,copy as curl(bash),然后打开https://curl.trillworks.com/,然后粘贴,右边Python requests里直接复制headers!
网页源码请求到了,该提取信息了,由于内容在script中,
title = re.findall(r'"raw_title":"(.*?)"', response) nick = re.findall(r'"nick":"(.*?)"', response) item_loc = re.findall(r'"item_loc":"(.*?)"', response) price = re.findall(r'"view_price":"(.*?)"', response) sales = re.findall(r'"view_sales":"(.*?)"', response)
网页源码请求到了,该提取信息了,由于内容在script中,所以,re !
title是标题
nick是店铺(这个多了一个哦,然后我看了看,最后一个没用,就切片把最后一个丢了就行)
item_loc是地区
price是价格
sales是付款人数
然后再来一波对应储存就行了,这边推荐您使用csv呢,亲!
写在最后!!!, 大家不要直接copy代码,最起码curl转换的那个请求头得换了!不换的话没办法运行完全的!并且两次请求中间的间隔尽量长一点,我设置的3s, 同时如果在写入文件的时候有indexerror错误,可以尝试重新复制curl来获取请求头!!!!大家一定不要直接复制哈!
以上就是使用Python获取淘宝信息的方法了。本文来源于网络,如有雷同联系作者修改。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)