700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > python淘宝爬虫基于requests抓取淘宝商品数据

python淘宝爬虫基于requests抓取淘宝商品数据

时间:2023-04-13 00:27:39

相关推荐

python淘宝爬虫基于requests抓取淘宝商品数据

在学校蹭过python的课,觉得python异常强大,趁寒假有时间,瞎搞一下,希望能和大伙一起探讨学习。废话不多说了,直接正题。

requests 是Python的http库,可以完成绝大部分与http应用相关的工作,当然对一些常规的数据抓取还是很方便。

详细看手册:

http://docs.python-/zh_CN/latest/user/quickstart.html

比如这两行代码

url=””

resp = requests.get(url)

requests的 get 返回值是一个 Response 对象,这个对象有很多属性text、encoding、status_code、links等,(具体用help查看啦0.0),这个对象的text属性即(resp.text)包含了相应的HTML文本,我们想要爬的数据就是在这里啦,encoding是显示resp.text的编码,也可以修改编码。

requests传递 URL 参数也是非常方便的,普及一下URL参数,是指:来定位网络上信息资源的地址,比如

/search?q=python 是淘宝搜索python

/search?q=java 就是淘宝搜索java

大家对比一下不同之处就是改变了url参数,我们可以用字典来提供这些URL参数,详细看手册!!!

接下来的例子功能是:淘宝搜索python,把1到100页商品信息的名称、单价、地址保存到taobao_test.txt文件中

准备工作:

1、python3.6开发环境

2、re库

3、requests库

#coding=utf-8import reimport requestsurl = '/search'payload = {'q':'python', 's':'1', 'ie':'utf8'} #字典传递url参数 file = open('taobao_test.txt', 'w', encoding='utf-8')for k in range(0,10): #10次,就是10页的商品数据payload['s'] = 44 * k + 1 #此处改变的url参数为s,s为1时第一页,s为45是第二页,89时第三页以此类推resp = requests.get(url, params=payload)print(resp.url)#打印访问的网址resp.encoding = 'utf-8' #设置编码title = re.findall(r'"raw_title":"([^"]+)"', resp.text, re.I) #正则保存所有raw_title的内容,这个是书名,下面是价格,地址price = re.findall(r'"view_price":"([^"]+)"', resp.text, re.I) loc = re.findall(r'"item_loc":"([^"]+)"', resp.text, re.I)x = len(title) #每一页商品的数量for i in range(0, x) : #把缓冲中的数据保存到文件中file.write(str(k * 44 + i + 1) + '书名:' + title[i] + '\n' + '价格:' + price[i] + '\n' + '地址:' + loc[i] + '\n\n')file.close()

代码比较短,证明requests模块的方便,代码可能有点臃肿,txt文件没问题!!

正则对应的H5源码如下:

ps:第一次写技术型的博客,这是起点,希望能互相学习成长,也当记录学习笔记。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。