zoukankan      html  css  js  c++  java
  • 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('商店名:{},商品标题:{},
    商品图片:{},
    商品产地:{},商品价格:{},付款人数:{},
    '.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)
  • 相关阅读:
    美多商城项目(一)
    Linux安装Qt
    mysql之初体验
    Linux系统编程目录
    Linux 多线程
    进程间通信
    Linux进程
    Linux文件IO(简易)
    Linux常用基本操作
    重绘
  • 原文地址:https://www.cnblogs.com/yunlongaimeng/p/9572082.html
Copyright © 2011-2022 走看看