<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        Python爬取APP下載鏈接的方法

        來源:懂視網 責編:小采 時間:2020-11-27 14:16:39
        文檔

        Python爬取APP下載鏈接的方法

        Python爬取APP下載鏈接的方法:首先是準備工作Python 2.7.11:下載pythonPycharm:下載Pycharm其中python2和python3目前同步發行,我這里使用的是python2作為環境。Pycharm是一款比較高效的Python IDE,但是需要付費。實現的基本思路首先我們的目標網站:安卓市場點擊【應用】,進入我們的
        推薦度:
        導讀Python爬取APP下載鏈接的方法:首先是準備工作Python 2.7.11:下載pythonPycharm:下載Pycharm其中python2和python3目前同步發行,我這里使用的是python2作為環境。Pycharm是一款比較高效的Python IDE,但是需要付費。實現的基本思路首先我們的目標網站:安卓市場點擊【應用】,進入我們的
        首先是準備工作

        Python 2.7.11:下載python

        Pycharm:下載Pycharm

        其中python2和python3目前同步發行,我這里使用的是python2作為環境。Pycharm是一款比較高效的Python IDE,但是需要付費。

        實現的基本思路

        首先我們的目標網站:安卓市場

        點擊【應用】,進入我們的關鍵頁面:

        Python爬取APP下載鏈接的方法

        跳轉到應用界面后我們需要關注三個地方,下圖紅色方框標出:

        Python爬取APP下載鏈接的方法

        首先關注地址欄的URL,再關注免費下載按鈕,然后關注底端的翻頁選項。點擊“免費下載”按鈕就會立即下載相應的APP,所以我們的思路就是拿到這個點擊下載的連接,就可以直接下載APP了。

        編寫爬蟲

        第一個需要解決的點:我們怎么拿到上面說的下載鏈接?這里不得不介紹下瀏覽器展示網頁的基本原理。說簡單點,瀏覽器是一個類似解析器的工具,它得到HTML等代碼的時候會按照相應的規則解析渲染,從而我們能夠看到頁面。

        這里我使用的是谷歌瀏覽器,對著頁面右鍵,點擊“檢查”,可以看到網頁原本的HTML代碼:

        Python爬取APP下載鏈接的方法

        看到眼花繚亂的HTML代碼不用著急,谷歌瀏覽器的審查元素有一個好用的小功能,可以幫我們定位頁面控件對應的HTML代碼

        位置:

        Python爬取APP下載鏈接的方法

        如上圖所示,點擊上方矩形框中的小箭頭,點擊頁面對應的位置,在右邊的HTML代碼中就會自動定位并高亮。

        接下來我們定位到下載按鈕對應的HTML代碼:

        Python爬取APP下載鏈接的方法

        可以看到按鈕對應的代碼中,存在相應的下載鏈接:【/appdown/com.tecent.mm】,加上前綴,完整的下載鏈接就是 http://apk.hiapk.com/appdown/com.tecent.mm

        首先使用python拿到整個頁面的HTML,很簡單,使用“requests.get(url) ” ,url填入相應網址即可。

        Python爬取APP下載鏈接的方法

        接著,在抓取頁面關鍵信息的時候,采取“先抓大、再抓小”的思路??梢钥吹揭粋€頁面有10個APP,在HTML代碼中對應10個item:

        Python爬取APP下載鏈接的方法

        而每個 li 標簽中,又包含各自APP的各個屬性(名稱、下載鏈接等)。所以第一步,我們將這10個 li 標簽提取出來:

        def geteveryapp(self,source):
         everyapp = re.findall('(<li class="list_item".*?</li>)',source,re.S)
         #everyapp2 = re.findall('(<p class="button_bg button_1 right_mt">.*?</p>)',everyapp,re.S)
         return everyapp

        這里用到了簡單的正則表達式知識

        提取 li 標簽中的下載鏈接:

        def getinfo(self,eachclass):
         info = {}
         str1 = str(re.search('<a href="(.*?)">', eachclass).group(0))
         app_url = re.search('"(.*?)"', str1).group(1)
         appdown_url = app_url.replace('appinfo', 'appdown')
         info['app_url'] = appdown_url
         print appdown_url
         return info

        接下來需要說的難點是翻頁,點擊下方的翻頁按鈕后我們可以看到地址欄發生了如下變化:

        Python爬取APP下載鏈接的方法

        Python爬取APP下載鏈接的方法

        豁然開朗,我們可以在每次的請求中替換URL中對應的id值實現翻頁。

        def changepage(self,url,total_page):
         now_page = int(re.search('pi=(d)', url).group(1))
         page_group = []
         for i in range(now_page,total_page+1):
         link = re.sub('pi=d','pi=%s'%i,url,re.S)
         page_group.append(link)
         return page_group

        爬蟲效果

        關鍵位置說完了,我們先看下最后爬蟲的效果:

        Python爬取APP下載鏈接的方法

        在TXT文件中保存結果如下:

        Python爬取APP下載鏈接的方法

        直接復制進迅雷就可以批量高速下載了。

        附上全部代碼

        #-*_coding:utf8-*-
        import requests
        import re
        import sys
        reload(sys)
        sys.setdefaultencoding("utf-8")
        
        class spider(object):
         def __init__(self):
         print u'開始爬取內容'
         def getsource(self,url):
         html = requests.get(url)
         return html.text
        
         def changepage(self,url,total_page):
         now_page = int(re.search('pi=(d)', url).group(1))
         page_group = []
         for i in range(now_page,total_page+1):
         link = re.sub('pi=d','pi=%s'%i,url,re.S)
         page_group.append(link)
         return page_group
        
         def geteveryapp(self,source):
         everyapp = re.findall('(<li class="list_item".*?</li>)',source,re.S)
         return everyapp
        
         def getinfo(self,eachclass):
         info = {}
         str1 = str(re.search('<a href="(.*?)">', eachclass).group(0))
         app_url = re.search('"(.*?)"', str1).group(1)
         appdown_url = app_url.replace('appinfo', 'appdown')
         info['app_url'] = appdown_url
         print appdown_url
         return info
        
         def saveinfo(self,classinfo):
         f = open('info.txt','a')
         str2 = "http://apk.hiapk.com"
         for each in classinfo:
         f.write(str2)
         f.writelines(each['app_url'] + '
        ')
         f.close()
        
        if __name__ == '__main__':
        
         appinfo = []
         url = 'http://apk.hiapk.com/apps/MediaAndVideo?sort=5&pi=1'
         appurl = spider()
         all_links = appurl.changepage(url, 5)
         for link in all_links:
         print u'正在處理頁面' + link
         html = appurl.getsource(link)
         every_app = appurl.geteveryapp(html)
         for each in every_app:
         info = appurl.getinfo(each)
         appinfo.append(info)
         appurl.saveinfo(appinfo)

        總結

        選取的目標網頁相對結構清晰簡單,這是一個比較基本的爬蟲。代碼寫的比較亂請見諒,

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        Python爬取APP下載鏈接的方法

        Python爬取APP下載鏈接的方法:首先是準備工作Python 2.7.11:下載pythonPycharm:下載Pycharm其中python2和python3目前同步發行,我這里使用的是python2作為環境。Pycharm是一款比較高效的Python IDE,但是需要付費。實現的基本思路首先我們的目標網站:安卓市場點擊【應用】,進入我們的
        推薦度:
        標簽: app 軟件 方法
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲黄片手机免费观看| 国产在线观看xxxx免费| 爱情岛论坛亚洲品质自拍视频网站 | 一级全免费视频播放| 1000部啪啪毛片免费看| 又粗又硬免费毛片| 亚洲人成电影在线观看网| 日本永久免费a∨在线视频| 国产免费丝袜调教视频| 狠狠综合久久综合88亚洲| 精品国产日韩久久亚洲| 亚欧免费一级毛片| 中文字幕亚洲一区二区va在线| 无码日韩人妻AV一区免费l| 在线jyzzjyzz免费视频| 亚洲色图黄色小说| 最新亚洲成av人免费看| 亚洲国产人成精品| 蜜芽亚洲av无码一区二区三区| 黄色永久免费网站| 亚洲国产精品网站在线播放| 成人免费视频网址| 亚洲冬月枫中文字幕在线看| 最近中文字幕mv手机免费高清| 亚洲另类自拍丝袜第五页| 一个人免费高清在线观看| 久久亚洲AV无码精品色午夜麻豆| 国产福利在线免费| 一级a性色生活片久久无少妇一级婬片免费放 | 四虎在线视频免费观看| 无套内谢孕妇毛片免费看看| 亚洲老妈激情一区二区三区| 国产精品福利在线观看免费不卡| 亚洲av永久无码精品古装片| 中文字幕免费观看视频| 亚洲一区中文字幕在线观看| 国产啪精品视频网免费| 日韩少妇内射免费播放| 亚洲国产模特在线播放| 亚洲精品国产V片在线观看| 99ee6热久久免费精品6|