欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python抓取電影天堂電影信息的代碼

 更新時(shí)間:2016年04月07日 21:36:30   作者:itjh  
最近想做一個(gè)電影資訊的App,由于豆瓣不對(duì)外開(kāi)發(fā)API了,正愁怎么錄入數(shù)據(jù)呢。最近在學(xué) Python 想想那就用它來(lái)抓取電影信息吧

Python2.7Mac OS

抓取的是電影天堂里面最新電影的頁(yè)面。鏈接地址: http://www.dytt8.net/html/gndy/dyzz/index.html

獲取頁(yè)面的中電影詳情頁(yè)鏈接

import urllib2
import os
import re
import string


# 電影URL集合
movieUrls = []


# 獲取電影列表
def queryMovieList():

 url = 'http://www.dytt8.net/html/gndy/dyzz/index.html' 
 conent = urllib2.urlopen(url)
 conent = conent.read()
 conent = conent.decode('gb2312','ignore').encode('utf-8','ignore') 
 pattern = re.compile ('<div class="title_all"><h1><font color=#008800>.*?</a>></font></h1></div>'+
      '(.*?)<td height="25" align="center" bgcolor="#F4FAE2"> ',re.S)
 items = re.findall(pattern,conent) 
 
 str = ''.join(items)
 pattern = re.compile ('<a href="(.*?)" class="ulink">(.*?)</a>.*?<td colspan.*?>(.*?)</td>',re.S)
 news = re.findall(pattern, str)

 for j in news:
  
  	movieUrls.append('http://www.dytt8.net'+j[0])

抓取詳情頁(yè)中的電影數(shù)據(jù)

def queryMovieInfo(movieUrls):

 for index, item in enumerate(movieUrls):

 print('電影URL: ' + item)

 conent = urllib2.urlopen(item)
 conent = conent.read()
 conent = conent.decode('gb2312','ignore').encode('utf-8','ignore') 


 movieName = re.findall(r'<div class="title_all"><h1><font color=#07519a>(.*?)</font></h1></div>', conent, re.S)
 if (len(movieName) > 0):
  movieName = movieName[0] + ""
  # 截取名稱(chēng)
  movieName = movieName[movieName.find("《") + 3:movieName.find("》")]
 else:
  movieName = ""

 print("電影名稱(chēng): " + movieName.strip())

 movieContent = re.findall(r'<div class="co_content8">(.*?)</tbody>',conent , re.S)


 pattern = re.compile('<ul>(.*?)<tr>', re.S)
 movieDate = re.findall(pattern,movieContent[0])

 if (len(movieDate) > 0):
  movieDate = movieDate[0].strip() + ''
 else:
  movieDate = ""

 print("電影發(fā)布時(shí)間: " + movieDate[-10:])

 pattern = re.compile('<br /><br />(.*?)<br /><br /><img')
 movieInfo = re.findall(pattern, movieContent[0])

 if (len(movieInfo) > 0):
  movieInfo = movieInfo[0]+''

  # 刪除<br />標(biāo)簽
  movieInfo = movieInfo.replace("<br />","")

  # 根據(jù) ◎ 符號(hào)拆分

  movieInfo = movieInfo.split('◎')

 else:
  movieInfo = ""

 print("電影基礎(chǔ)信息: ")

 for item in movieInfo:
  print(item)


 # 電影海報(bào)
 pattern = re.compile('<img.*? src="(.*?)".*? />', re.S)		
 movieImg = re.findall(pattern,movieContent[0])

 if (len(movieImg) > 0):
  movieImg = movieImg[0]
 else:
  movieImg = ""
 
 print("電影海報(bào): " + movieImg)

 pattern = re.compile('<td style="WORD-WRAP: break-word" bgcolor="#fdfddf"><a href="(.*?)">.*?</a></td>', re.S)
 movieDownUrl = re.findall(pattern,movieContent[0])

 if (len(movieDownUrl) > 0):
  movieDownUrl = movieDownUrl[0]
 else:
  movieDownUrl = ""

 print("電影下載地址:" + movieDownUrl + "")

 print("------------------------------------------------\n\n\n")

執(zhí)行抓取

if __name__=='__main__':

  print("開(kāi)始抓取電影數(shù)據(jù)");
 
  queryMovieList()
  print(len(movieUrls))

  queryMovieInfo(movieUrls)
  print("結(jié)束抓取電影數(shù)據(jù)")

總結(jié)

學(xué)好正則表達(dá)式很重要,很重要,很重要!!!! Python的語(yǔ)法好有感覺(jué), 對(duì)比Java …

相關(guān)文章

  • pyshp創(chuàng)建shp點(diǎn)文件的方法

    pyshp創(chuàng)建shp點(diǎn)文件的方法

    今天小編就為大家分享一篇pyshp創(chuàng)建shp點(diǎn)文件的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • python 正則表達(dá)式如何實(shí)現(xiàn)重疊匹配

    python 正則表達(dá)式如何實(shí)現(xiàn)重疊匹配

    這篇文章主要介紹了python 正則表達(dá)式如何實(shí)現(xiàn)重疊匹配,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • Python GUI編程學(xué)習(xí)筆記之tkinter界面布局顯示詳解

    Python GUI編程學(xué)習(xí)筆記之tkinter界面布局顯示詳解

    這篇文章主要介紹了Python GUI編程學(xué)習(xí)筆記之tkinter界面布局顯示,結(jié)合實(shí)例形式分析了Python GUI編程中tkinter界面布局顯示的相關(guān)操作技巧與使用注意事項(xiàng),需要的朋友可以參考下
    2020-03-03
  • python 讀txt文件,按‘,’分割每行數(shù)據(jù)操作

    python 讀txt文件,按‘,’分割每行數(shù)據(jù)操作

    這篇文章主要介紹了python 讀txt文件,按‘,’分割每行數(shù)據(jù)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-07-07
  • Python實(shí)現(xiàn)aes加密解密多種方法解析

    Python實(shí)現(xiàn)aes加密解密多種方法解析

    這篇文章主要介紹了Python實(shí)現(xiàn)aes加密解密多種方法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • 運(yùn)行python腳本更改Windows背景

    運(yùn)行python腳本更改Windows背景

    這篇文章主要介紹了運(yùn)行python腳本更改Windows背景,使用常用的命令更改桌面背景,以更改ctype中的系統(tǒng)參數(shù),下面來(lái)看看具體得更改過(guò)程吧
    2022-01-01
  • 一行python實(shí)現(xiàn)樹(shù)形結(jié)構(gòu)的方法

    一行python實(shí)現(xiàn)樹(shù)形結(jié)構(gòu)的方法

    今天小編就為大家分享一篇一行python實(shí)現(xiàn)樹(shù)形結(jié)構(gòu)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-08-08
  • 如何在python中使用selenium的示例

    如何在python中使用selenium的示例

    這篇文章主要介紹了如何在python中使用selenium的示例,selenium提供了一個(gè)通用的接口,可模擬用戶(hù)來(lái)操作瀏覽器,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-12-12
  • python實(shí)現(xiàn)tail實(shí)時(shí)查看服務(wù)器日志示例

    python實(shí)現(xiàn)tail實(shí)時(shí)查看服務(wù)器日志示例

    今天小編就為大家分享一篇python實(shí)現(xiàn)tail實(shí)時(shí)查看服務(wù)器日志示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-12-12
  • python3.6中@property裝飾器的使用方法示例

    python3.6中@property裝飾器的使用方法示例

    這篇文章主要介紹了python3.6中@property裝飾器的使用方法,結(jié)合實(shí)例形式分析了python3.6中@property裝飾器的功能、使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2019-08-08

最新評(píng)論