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

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

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

Python2.7Mac OS

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

獲取頁面的中電影詳情頁鏈接

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])

抓取詳情頁中的電影數(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] + ""
  # 截取名稱
  movieName = movieName[movieName.find("《") + 3:movieName.find("》")]
 else:
  movieName = ""

 print("電影名稱: " + 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ā)布時間: " + 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ù) ◎ 符號拆分

  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("開始抓取電影數(shù)據(jù)");
 
  queryMovieList()
  print(len(movieUrls))

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

總結(jié)

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

相關(guān)文章

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

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

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

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

    這篇文章主要介紹了python 正則表達(dá)式如何實(shí)現(xiàn)重疊匹配,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    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ù)操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • Python實(shí)現(xiàn)aes加密解密多種方法解析

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

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

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

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

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

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

    如何在python中使用selenium的示例

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

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

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

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

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

最新評論