一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

項目實戰(zhàn):爬App數(shù)據(jù)

 過河卒沖 2020-05-18

好消息:Python學(xué)習(xí)交流群,已經(jīng)建立,猛戳加入


今日推文說明:

次條:爬取短視頻并下載視頻

三條:爬取網(wǎng)站高清圖片

大家好,我是銀牌廚師豆腐!

最近群里很多小伙伴對爬取手機app和小程序感興趣,今天本廚師將給大家呈現(xiàn)這道菜,供小伙伴們品嘗。

相信大家都對爬蟲有一定的了解,我們爬PC端時候可以打開F12去觀察url的變化,那么手機的發(fā)出請求我們應(yīng)該怎么攔截呢。

今天的主菜就是給大家介紹一個抓包工具Fiddler,并用它烹煮一道廣州房價爬蟲。

Fiddler是一個http調(diào)試工具,也僅限于攔截http協(xié)議的請求,這是它的短板之處,但是對于我們平常的練習(xí)運用也足夠了,因為大多數(shù)網(wǎng)站都是走h(yuǎn)ttp協(xié)議。跟Fiddler同類型的抓包工具還有很多,像Charles、Burpsuite等等

像其中Burpsuite的功能是比較強大的,它們都是PC軟件,不是裝在手機端,有興趣的小伙伴可以去了解一下

抓包工具Fiddler

話不多說,我先教大家怎么設(shè)置Fiddler。

主要三個步驟:

1、安裝軟件后,打開Fiddler的Tools選項,進(jìn)行第一步,分別對General,HTTPS,Connections窗口進(jìn)行如下設(shè)置

把該勾上的勾上后,我們回到HTTPS這個界面,點擊Actions,選擇Trust,安裝證書,

這時候我們的PC端的洗菜流程已經(jīng)完成啦

2、接下來我們就要設(shè)置手機端,我們既然要通過PC端攔截手機發(fā)出的請求,就要設(shè)置手機的網(wǎng)絡(luò)跟PC是同一個

網(wǎng)絡(luò)下,所以第二步,我們要更改手機ip。我們先來看看你的PC斷ip是多少。先打開cmd進(jìn)入終端后,輸入ipconfig回車

就可以看到你的ip地址了

這時候終于輪到你的寶貝手機出場了,熟練的連上你的wifi之后,修改你的wifi設(shè)置,點擊高級選項后,分別輸入你的ip和端口后保存。

3、大家是不是覺得很簡單呢,別高興太早了!最關(guān)鍵的一步到了,在我們完成第一、二步設(shè)置后,打開你的手機瀏覽器輸入你的ip和端口號(例127.0.0.1:8080),回車,這時候會跳轉(zhuǎn)到一個下載手機端證書的頁面,下載后并信任證書后(注:某些安卓手機會要獲得root權(quán)限才行),這時候,我們安裝三部曲就大功告成了。

萬事俱備,只欠東風(fēng),食材都清洗好了,現(xiàn)在我就教大家怎么利用Fiddler烹煮小程序。

抓包實戰(zhàn)

先打開一個小程序網(wǎng)站,我選擇的是Q房網(wǎng),大家看,菜下鍋后,F(xiàn)iddler是不是變化了。

這就是用fiddler攔截到你的手機發(fā)出請求的網(wǎng)頁信息了和它的鏈接,這個網(wǎng)頁信息是通過json數(shù)據(jù)加載的

然后往上看,Raw模塊是獲取請求頭的地方

有了這兩個信息,我們的爬蟲代碼也就可以開始編寫了

爬蟲代碼

基操requests,循環(huán)頁數(shù),由于是獲取的數(shù)據(jù)是json格式,我們就要利用json.loads格式化抓取的信息,才能進(jìn)行一個數(shù)據(jù)提取。

部分爬蟲代碼,完整版下載見文末

url = 'https://mapi./wechat/api/v3_2_0/room?dataSource=GUANGZHOU&unionId=這里也是微信id&platform=wechat&bizType=SALE&currentPage={}&pageSize=20&keyword=&region=&l=&s=&p=&b=&a=&r=&h=&g=&t=&o=&fromPrice=&toPrice=&unitPrice=&fromUnitPrice=&toUnitPrice='
#爬取到50頁,程序就停止
for i in range(1,51):
    time.sleep(rand_seconds)
    url3 = url.format(i)
    # print(url3)
    res = session.get(url=url3, headers=headers)
    # print(res.text)
    data = json.loads(res.text)
    try:
        id_list = data['result']['list']
        # print(333,id_list)
        for i in id_list:
            id = i['id']
            # print(id)
            url2 = 'https://mapi./wechat/api/v3_2_0/room/detail?dataSource=GUANGZHOU&unionId=這里也是微信id&platform=wechat&id={}&bizType=SALE&userId=&accountLinkId=&top=1&origin=sale-list'.format(
                id)
            time.sleep(rand_seconds)
            try:
                requests.adapters.DEFAULT_RETRIES = 3
                res2 = session.get(url=url2, headers=headers, timeout=10)
            except requests.exceptions.ConnectionError:
                requests.adapters.DEFAULT_RETRIES = 3
                res2 = session.get(url=url2, headers=headers, timeout=10)
            except requests.exceptions.ReadTimeout:
                requests.adapters.DEFAULT_RETRIES = 3
                res2 = session.get(url=url2, headers=headers, timeout=10)
            item = {}
            res2_data = json.loads(res2.text)
            try:
                roominfo = res2_data['result']['roomInfo']
            except KeyError:
                break

爬取數(shù)據(jù)結(jié)果:


數(shù)據(jù)可視化

菜做好了,當(dāng)然還要撒點香菜才能上桌啦,做個簡單可視化吧,由于爬取的數(shù)據(jù)很干凈,我省掉清洗數(shù)據(jù)的環(huán)節(jié),直接上手,在各位群大佬面前獻(xiàn)丑了。

我們先來看看該網(wǎng)站的廣州二手房的最高價和最低價,這最高價的數(shù)字太感人了.... 這多少個0我都數(shù)不對

import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv(r'F:\PycharmProjects\house_spider\廣州二手房.csv', encoding='gbk')
# print(df)
df = df.astype({'price''float64'})  #先將價格的類型轉(zhuǎn)為浮點數(shù),方便后面計算
df_max = df['price'].max()  #查看爬取的數(shù)據(jù)中房價最高的價格
df_min =df['price'].min()  #房價最低的價格
print('廣州二手房最高價:%s,最低價:%s'%(df_max,df_min))
re_price = ['region''price']

# 分組統(tǒng)計數(shù)量
price_df = df[re_price]
# #根據(jù)區(qū)域價格計算區(qū)域房價均價
region_mean_price = price_df.groupby(['region'],as_index=False)['price'].agg({'mean_price':'mean'})
region_mean_price = region_mean_price.sort_values(by='mean_price')
print(region_mean_price)

#利用循環(huán)提取已經(jīng)處理好的區(qū)域和它的均值
for x,y in zip(region_mean_price.region, region_mean_price.mean_price):
    plt.text(x, y,'%.0f' %y, ha='center', va= 'bottom',fontsize=11)

# 顯示柱狀圖值
plt.bar(region_mean_price.region, region_mean_price.mean_price, width=0.8, color='rgby')
plt.show()

繼續(xù)繼續(xù),我們來統(tǒng)計一下廣州各區(qū)的房價,然后算出各個區(qū)域均值,通過groupby分組統(tǒng)計出region_mean_price

(豆腐內(nèi)心os:原來黃埔房價都那么高了,各網(wǎng)站數(shù)據(jù)的差異性也會導(dǎo)致最終展示的結(jié)果不一樣,大家可以選個大網(wǎng)站試試)

到此,我們這次利用工具抓包小程序網(wǎng)站的介紹就結(jié)束了,大家也可以試試app,原理一樣。

謝謝大家觀看,拜拜咯~

本文涉及爬蟲、可視化代碼下載:

https://alltodata./s/f0b70e0c24164c

下次有空給大家介紹一款自動化工具,解放你的雙手,讓代碼幫你刷抖音,如果大家感興趣請給我“閱讀、在看、分享”三連!

推薦兩個團(tuán)隊技術(shù)號




Github研習(xí)社:
目前是由國內(nèi)985博士,碩士組成的團(tuán)體發(fā)起并運營,主要分享和研究業(yè)界開源項目,學(xué)習(xí)資源,程序設(shè)計,學(xué)術(shù)交流。回復(fù)就無套路送你一份自學(xué)大禮包。



機器學(xué)習(xí)研習(xí)社
目前是由國內(nèi)985博士,碩士組成的團(tuán)體發(fā)起并運營。主要分享和研究機器學(xué)習(xí)、深度學(xué)習(xí)、NLP 、Python,大數(shù)據(jù)等前沿知識、干貨筆記和優(yōu)質(zhì)資源。回復(fù)就無套路送你一份機器學(xué)習(xí)大禮包。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    亚洲一区二区三区三州| 国产熟女一区二区三区四区| 免费黄色一区二区三区| 欧美熟妇一区二区在线| 亚洲天堂有码中文字幕视频| 国产老熟女超碰一区二区三区| 欧洲日韩精品一区二区三区| 麻豆果冻传媒一二三区| 日本成人三级在线播放| 免费黄色一区二区三区| 国产极品粉嫩尤物一区二区| 色一情一伦一区二区三| 欧美日韩国产午夜福利| 69老司机精品视频在线观看| 男人大臿蕉香蕉大视频| 黄片在线免费看日韩欧美| 美女黄色三级深夜福利| av在线免费播放一区二区| 色哟哟哟在线观看视频| 日韩成人免费性生活视频| 久久人人爽人人爽大片av| 国产日韩欧美国产欧美日韩| 日韩精品一区二区三区含羞含羞草| 91人妻人人做人碰人人九色| 精品国产亚洲av成人一区| 五月天丁香亚洲综合网| 中文字幕av诱惑一区二区| 亚洲欧美天堂精品在线| 中文字幕在线区中文色 | 欧美色婷婷综合狠狠爱| 欧美日韩有码一二三区| 十八禁日本一区二区三区| 日韩中文字幕免费在线视频| 欧美老太太性生活大片| 九九久久精品久久久精品| 久热人妻中文字幕一区二区| 国产精品欧美激情在线观看| 一区二区三区在线不卡免费| 国产精品久久女同磨豆腐| 精品日韩中文字幕视频在线| 在线免费观看黄色美女|