python淘宝爬虫基于requests抓取淘宝商品数据
2018-01-25 14:37
951 查看
在学校蹭过python的课,觉得python异常强大,趁寒假有时间,瞎搞一下,希望能和大伙一起探讨学习。废话不多说了,直接正题。
requests 是Python的http库,可以完成绝大部分与http应用相关的工作,当然对一些常规的数据抓取还是很方便。
详细看手册:
http://docs.python-requests.org/zh_CN/latest/user/quickstart.html
比如这两行代码
url=”www.baidu.com”
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参数,是指:来定位网络上信息资源的地址,比如
https://s.taobao.com/search?q=python 是淘宝搜索python https://s.taobao.co 4000
m/search?q=java 就是淘宝搜索java
大家对比一下不同之处就是改变了url参数,我们可以用字典来提供这些URL参数,详细看手册!!!
接下来的例子功能是:淘宝搜索python,把1到100页商品信息的名称、单价、地址保存到taobao_test.txt文件中
准备工作:
1、python开发环境
2、re库
3、requests库
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
代码比较短,证明requests模块的方便,代码可能有点臃肿,txt文件结果没问题
requests 是Python的http库,可以完成绝大部分与http应用相关的工作,当然对一些常规的数据抓取还是很方便。
详细看手册:
http://docs.python-requests.org/zh_CN/latest/user/quickstart.html
比如这两行代码
url=”www.baidu.com”
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参数,是指:来定位网络上信息资源的地址,比如
https://s.taobao.com/search?q=python 是淘宝搜索python https://s.taobao.co 4000
m/search?q=java 就是淘宝搜索java
大家对比一下不同之处就是改变了url参数,我们可以用字典来提供这些URL参数,详细看手册!!!
接下来的例子功能是:淘宝搜索python,把1到100页商品信息的名称、单价、地址保存到taobao_test.txt文件中
准备工作:
1、python开发环境
2、re库
3、requests库
#coding=utf-8 import re import requests url = 'https://s.taobao.com/search' payload = {'q': 'python','s': '1','ie':'utf8'} #字典传递url参数 file = open('taobao_test.txt','w',encoding='utf-8') for k in range(0,100): #100次,就是100个页的商品数据 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()1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
代码比较短,证明requests模块的方便,代码可能有点臃肿,txt文件结果没问题
相关文章推荐
- python淘宝爬虫基于requests抓取淘宝商品数据
- Python开源爬虫项目代码:抓取淘宝、京东、QQ、知网数据--转
- Python爬虫,抓取淘宝商品评论内容
- 简单的抓取淘宝关键字信息、图片的Python爬虫|Python3中级玩家:淘宝天猫商品搜索爬虫自动化工具(第二篇)
- [置顶] [爬虫]使用python抓取京东全站数据(商品,店铺,分类,评论)
- 利用Python爬虫爬取淘宝商品做数据挖掘分析实战篇,超详细教程
- Python实例之抓取淘宝商品数据(json型数据)并保存为TXT
- python爬虫之requests抓取数据
- Python爬虫:抓取新浪新闻数据
- [置顶] 【python爬虫】网贷天眼平台表格数据抓取
- python爬取淘宝商品详情页数据
- python爬虫获取淘宝天猫商品详细参数
- 基于Python实现微信公众号爬虫进行数据分析
- Python爬虫框架Scrapy实战之抓取户外数据
- Python requests爬虫爬取小说数据
- python爬取淘宝商品数据
- 基于python实现的抓取腾讯视频所有电影的爬虫
- python爬取ajax动态生成的数据 以抓取淘宝评论为例子
- [Python爬虫] 之十八:Selenium +phantomjs 利用 pyquery抓取电视之家网数据
- Python爬虫:抓取手机APP的传输数据