python爬虫-淘宝商品密码(图文教程附源码)

今天闲着没事,不想像书上介绍的那样,我相信所有的数据都是有规律可以寻找的,然后去分析了一下淘宝的商品数据的规律和加密方式,用了最简单的知识去解析了需要的数据。

这个也让我学到了,解决问题的方法不止一个,我们要常常学会去思考,学会去学习,相信我们爬虫还是可以拿到我们想要的一切需要的数据。

我也对数据感兴趣,就是感觉,世间万物都是有规律可寻的,就看我们能不能去发现其中的秘密。

当我们去解决一个问题的时候,那一种成就感是别人难以体会的。只有我们去亲身体验才会感到真正的幸福。

所用模块:

re+requests+json

所用环境:

windows10 + pycharm

实战分析:

第一步:根据url来在google chrome中分析数据

分析的结果是:数据就是通过json来存储的

第二步:

得到网页的源码

第三步把得到的数据进行解析

 第四步:对数据进行解密

第五步:就可以把json的数据拿到并分析得到相应的数据

 以下是源码:

 1 import json
 2 import re
 3 
 4 import requests
 5 
 6 # 在搜索框中输入美食得到的数据q=%E7%BE%8E%E9%A3%9F
 7 url = 'https://s.taobao.com/search?q=%E7%BE%8E%E9%A3%9F'
 8 response = requests.get(url)
 9 # print(response.text)
10 
11 # 用正则对html源码进行解析到一个json数据
12 pattern = re.compile('g_page_config =(.*?});', re.S)
13 result = re.search(pattern, response.text)
14 # print(result.group(1))
15 try:
16     # 发现并不是那么简单而是加密的数据并是有规律可寻的,以下是加密的几个数据段
17     json_data = re.sub('(\\\\u003d)|(\\\\u0026)|(\\\\u003c)|(\\\\u003e)', '', result.group(1))
18     print('数据解密成功')
19     # print(json_data)
20 except Exception as e:
21     print('数据解密失败,原因是:',e)
22 
23 
24 # json_dumps = json.dumps(json_data)
25 # print(json_dumps)
26 data_count = 1
27 data = json.loads(json_data)
28 # 分析json的数据并把需要的数据给读取出来
29 for good in data['mods']['itemlist']['data']['auctions']:
30     print('商店名:{},商品标题:{},\n商品图片:{},\n商品产地:{},商品价格:{},付款人数:{},\n'.format(good['nick'], good['title'], good['pic_url'], good['item_loc'], good['view_price'],good['view_sales']))
31     data_count += 1
32 
33 print(data_count)

猜你喜欢

转载自www.cnblogs.com/yunlongaimeng/p/9572082.html