Python爬取電影天堂資源

步驟一:python的下載

python爬蟲,首先需要本地電腦上安裝有python

首先,進入到python官網,你可以直接輸入python主頁,也可以從百度搜索框進入到python的主頁

然後在主頁上面可以看見Downloads字樣,點擊

跳轉出python下載界面,選擇一個版本進行下載,我這裏下載的是python3.6。

步驟二:爬蟲準備

爬蟲首先需要做的事情就是要確定好你想要爬取數據的對象,這裏我將以電影天堂裏面的電影爲例進行講解。

首先,是打開電影天堂主頁界面,然後把鼠標移動到主頁左邊空白位置,點擊鼠標右鍵,然後點擊查看源,就可以看到網頁的源代碼,例如<a href="/html/gndy/dyzz/20180620/57001.html" class="ulink">2018年科幻動作《頭號玩家》HB中英雙字幕</a>


步驟三:開始爬蟲

 

爬蟲主要分爲兩個部分,第一個是網頁界面的獲取,第二個是網頁界面的解析;爬蟲的原理是利用代碼模擬瀏覽器訪問網站,與瀏覽器不同的是,爬蟲獲取到的是網頁的源代碼,沒有了瀏覽器的翻譯效果。

首先,我們進行頁面獲取,python爬蟲的話很多模塊包提供給開發者直接抓取網頁,urllib,urllib2,requests(urllib3)等等,這裏我們使用requests進行網站頁面的獲取;首先導入requests模塊包import requests如果沒有下載,可以在命令控制行使用pip install requests下載。

導入模塊包之後,然後調用requests中的方法get鏈接網站,代碼如下a_ur1 = 'http://www.ygdy8.net/html/gndy/dyzz/list_23_'+str(n)+'.html'

html_1 = requests.get(a_ur1)。

其中要注意html_1的編碼格式,

html_1.encoding = 'gb2312'

獲取到頁面的源代碼之後,然後接下來的工作就是將自己想要的數據從html界面源代碼中解析出來,解析界面的模塊包有很多,原始的re,好用的BeautifulSoup,以及高大上的lxml等等,這裏我就簡單的用re介紹介紹,首先導入re模塊包:import re

然後進行利用re進行搜索

detil_list = re.findall('<a href="(.*?)" class="ulink">',html_1.text)

這裏我有使用正則表達式,看不懂的同學需去補充點正則表達式方面的知識。

這樣就可以爬取到我們需要的第一個網頁源代碼(可以用for循環爬取更多的網站)

拿到多個網頁源代碼之後我們可以拿個列表把它存起來

detil_list = re.findall('<a href="(.*?)" class="ulink">',html_1.text)

然後利用源代碼進入網頁

 

    for m in detil_list:

        b_ur1 = 'http://www.ygdy8.net'+m

        html_2 = requests.get(b_ur1)

        html_2.encoding = 'gb2312'

然後利用正則表達式獲取我們想要的電影連接

ftp = re.findall('<a href="(.*?)">.*?</a></td>',html_2.text)

最後,就可以輸出爬到的電影連接了


源代碼

import requests,re

for n in range(1,3):

    a_ur1 = 'http://www.ygdy8.net/html/gndy/dyzz/list_23_'+str(n)+'.html'

    html_1 = requests.get(a_ur1)

    html_1.encoding = 'gb2312'

    detil_list = re.findall('< a href="(.*?)" class="ulink">',html_1.text)

    for m in detil_list:

        b_ur1 = 'http://www.ygdy8.net'+m

        html_2 = requests.get(b_ur1)

        html_2.encoding = 'gb2312'

        ftp = re.findall('< a href="(.*?)">.*?</ a></td>',html_2.text)

        print(ftp)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章