在之前的文章中,筆者有提到,我們要在實踐中去學習python,筆者有天就想著要不要爬點東西呢,躍躍欲試的節奏啊,想來想去,想到美團了,那麼首先筆 者想給自己確定乙個目標,就是我要爬什麼樣的資料,我要爬美團的哪些東西。筆者首先確定了筆者想要爬去的界 面,就是美團網在北京的**首頁,獲取首頁的**,**專案的介紹,**售價,銷量。
1.首先確定要用的模組,<1.>urrlib,os,re三個模組,
2.要想獲得資料,並且一一對應起來,那麼用到迴圈的巢狀(一開始卡殼,後來諮詢得到啟發),
3.獲取網頁的所有資料,爬去下來
4.分析這些想要或許的模組怎麼找出來,
5.找出相對於的正則來匹配,
6.獲取資料,並且找到對應的數值
7.利用迴圈,並且配合字典的使用,將資料完整的獲取下來,
8.儲存到相應的文件中
9.關閉文件,
10.提示資料儲存成功,結束爬去。
由於這是第一次採取這麼多的資訊,之前只是爬個啥的,所以筆者還是十分小心的去審查每乙個元素,在這裡推薦利用火狐瀏覽器,感覺是真的好用使用firebug外掛程式審查元素。
檢視元素後,可以獲得這個**的編碼形式是utf-8,這對於我們爬取資料也是關鍵的。
在一開始呢,筆者還開啟了一款軟體,fiddler,抓包
這些資訊還是很多的,由於筆者截圖的時候碰到了網路的原因,但是筆者還是找到了自己想要的資訊,這樣可以在自己的**中加入偽裝瀏覽器的資訊,那麼接下來要做的事情就是定位我們想要找的資料。
分析首頁的**資訊,我們可以根據多個來確認這個資訊的唯一識別符號,標籤中並且有class="xtitle"< /span>中間文字,那麼我們的正規表示式就出來了,r'(.+?)'(正則太難,筆者乙個個試出來的)
title_reg=r'(.+?)' #匹配**
jianjie_reg=r'class="short-title">(.+)' #匹配**簡介
sellnum_reg=r'(.+)' #銷售的數量
pire_reg=r'(.+)' #**的售價
title_list = re.findall(title_reg,html)
jianjie_list=re.findall(jianjie_reg,html)
sellnum_list=re.findall(sellnum_reg,html)
pire_list=re.findall(pire_reg,html)
meitu={}
i = 0
for title in title_list:
meitu['**'] =title_list[i]
for jianjie in jianjie_list:
meitu['簡介']=jianjie_list[i]
for sellum in sellnum_list:
meitu['銷量']=sellnum_list[i]
for pire in
python爬美團美食商家
importrequests importrandom,time importre url url1 meishi api poi getpoilist?uuid 3a2a1b587cff4fb09ae9.1521202327.1.0.0 platform 1 partner 126 originu...
Python爬取X車之家配置資訊
x車之家的配置資訊主要運用css3的偽類反爬,需要將正確值替換掉原來的類值就可以了。獲取所有車系的id seriesid 存入csv 獲取所有車系的介面 每個車系對應有不同的具體車的id specid 存入csv 大約有38500個車每個車系對應的所有車的specid資訊介面 配置資訊的頁面url ...
Python3 x編碼問題
1.記事本的ansi編碼為系統本地編碼,我的是gbk open 函式的encoding引數預設是本地編碼,也就是gbk,所以直接讀取ansi編碼的記事本檔案是木有問題的。怎麼檢視系統本地編碼?在cmd下輸入 chcp 從下表可以看出,936對應gbk編碼 下表列出了所有支援的 頁及其國家 地區 或者...