python實現(xiàn)的爬取電影下載鏈接功能示例
本文實例講述了python實現(xiàn)的爬取電影下載鏈接功能。分享給大家供大家參考,具體如下:
#!/usr/bin/python
#coding=UTF-8
import sys
import urllib2
import os
import chardet
from bs4 import BeautifulSoup
reload(sys)
sys.setdefaultencoding("utf-8")
#從電影html頁面中獲取視頻下載地址
def get_movie_download_url(html):
soup=BeautifulSoup(html,'html.parser')
fixed_html=soup.prettify()
td=soup.find('td',attrs={'style':'WORD-WRAP: break-word'})
url_a=td.find('a')
url_a=url_a.string
return url_a
#從電影html頁面中獲取電影標(biāo)題
def get_movie_title(html):
soup=BeautifulSoup(html,'html.parser')
fixed_html=soup.prettify()
title=soup.find('h1')
title=title.string
return title
#訪問url,返回html頁面
def get_html(url):
req=urllib2.Request(url)
req.add_header('User-Agent','Mozilla/5.0')
response=urllib2.urlopen(url)
html=response.read()
return html
#從電影列表頁,獲取電影的url,拼接好,存到列表后返回
def get_movie_list(url):
m_list = []
html = get_html(url)
soup=BeautifulSoup(html,'html.parser')
fixed_html=soup.prettify()
a_urls=soup.find_all('a',attrs={'class':'ulink'})
host = "http://www.ygdy8.net"
for a_url in a_urls:
m_url=a_url.get('href')
m_list.append(host+m_url)
return m_list
#存入txt文件
def file_edit(wr_str):
f1 = open(r'e:\down_load_url.txt','a')
f1.write(wr_str)
f1.close()
#傳入電影url的列表集合,獲取下載地址,并寫入文件
def write_to_txt(a_urls):
for a_url in a_urls:
html=get_html(a_url)
html=html.decode('GBK')
write_title=get_movie_title(html)
write_url=get_movie_download_url(html)
file_edit(write_title+"\n")
file_edit(write_url+"\n")
file_edit("\n")
#傳入頁數(shù),返回這幾頁的url列表
def get_pages_url(num):
urls_list = []
url="http://www.ygdy8.net/html/gndy/dyzz/list_23_"
for n in range(1,num+1):
new_url = url+str(n)+".html"
urls_list.append(new_url)
return urls_list
if __name__=='__main__':
pages = 2 #打算爬取幾頁電影
p_url = get_pages_url(pages)
for i in p_url:
write_to_txt(get_movie_list(i))#執(zhí)行寫入
print "done"
更多關(guān)于Python相關(guān)內(nèi)容可查看本站專題:《Python Socket編程技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設(shè)計有所幫助。
相關(guān)文章
python 定時任務(wù)去檢測服務(wù)器端口是否通的實例
今天小編就為大家分享一篇python 定時任務(wù)去檢測服務(wù)器端口是否通的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-01-01
django虛擬環(huán)境(virtualenv)的創(chuàng)建
在使用django開發(fā)項目的時候,一個環(huán)境只能對應(yīng)一個項目,若不安裝虛擬環(huán)境、都裝在系統(tǒng)里面,每次項目加載都需要加載所有的安裝包,本文就介紹django虛擬環(huán)境的安裝,感興趣的可以了解一下2021-08-08
詳解Python list和numpy array的存儲和讀取方法
這篇文章主要介紹了詳解Python list和numpy array的存儲和讀取方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
python 基于Appium控制多設(shè)備并行執(zhí)行
這篇文章主要介紹了python 如何基于Appium控制多設(shè)備并行執(zhí)行,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下2021-03-03
python保留格式匯總各部門excel內(nèi)容的實現(xiàn)思路
這篇文章主要介紹了python保留格式匯總各部門excel內(nèi)容,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-06-06
使用pytorch實現(xiàn)論文中的unet網(wǎng)絡(luò)
這篇文章主要介紹了使用pytorch實現(xiàn)論文中的unet網(wǎng)絡(luò),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06
python GUI庫圖形界面開發(fā)之PyQt5計數(shù)器控件QSpinBox詳細(xì)使用方法與實例
這篇文章主要介紹了python GUI庫圖形界面開發(fā)之PyQt5計數(shù)器控件QSpinBox詳細(xì)使用方法與實例,需要的朋友可以參考下2020-02-02
Python實現(xiàn)網(wǎng)站注冊驗證碼生成類
這篇文章主要為大家詳細(xì)介紹了Python實現(xiàn)網(wǎng)站注冊驗證碼生成類,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-06

