今天閒着沒事,不想像書上介紹的那樣,我相信全部的數據都是有規律能夠尋找的,而後去分析了一下淘寶的商品數據的規律和加密方式,用了最簡單的知識去解析了須要的數據。html
這個也讓我學到了,解決問題的方法不止一個,咱們要經常學會去思考,學會去學習,相信咱們爬蟲仍是能夠拿到咱們想要的一切須要的數據。chrome
我也對數據感興趣,就是感受,世間萬物都是有規律可尋的,就看咱們能不能去發現其中的祕密。json
當咱們去解決一個問題的時候,那一種成就感是別人難以體會的。只有咱們去親身體驗纔會感到真正的幸福。windows
所用模塊:學習
re+requests+jsongoogle
所用環境:加密
windows10 + pycharmurl
實戰分析:spa
第一步:根據url來在google chrome中分析數據3d
分析的結果是:數據就是經過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)