Python 爬取貓眼電影最受期待榜

2022-05-17 08:59:04 字數 1605 閱讀 4014

主要爬取貓眼電影最受期待榜的電影排名、鏈結、名稱、主演、上映時間。

思路:1.定義乙個獲取網頁源**的函式;

2.定義乙個解析網頁源**的函式;

3.定義乙個將解析的資料儲存為本地檔案的函式;

4.定義主函式;

5.使用多程序爬取。

import

requests

import

reimport

json

from multiprocessing import

pool

from requests.exceptions import requestexception

步驟二:定義獲取網頁源**的函式,這裡使用 requests.get() 方法來獲取,並呼叫異常處理方法:

def

get_one_page(url):

response =requests.get(url)

try:

if response.status_code == 200:

return

response.text

return

none

except

requestexception:

return none

步驟三:定義乙個函式,利用正規表示式 re.findall() 等函式解析網頁源**,並利用 yield 生成器對解析的**進行排布,轉換為字典形式:

def

parse_one_page(html):

pattern = re.compile('

.*?board-index.*?">(\d+).*?data-src="(.*?)".*?.*?

' + '

(.*?).*?star">(.*?)

.*?releasetime">(.*?)

.*?'

, re.s)

items =re.findall(pattern, html)

for item in

items:

yield

步驟四:定義主函式,爬取最受期待榜的 n 頁:

def

main(offset):

url = '

' +str(offset)

html =get_one_page(url)

for item in

parse_one_page(html):

print

(item)

write_one_page(item)

步驟五:多程序爬取,定義程序池,並呼叫 pool.map() 方法進行多程序爬取,提高爬取效率:

if

__name__ == "

__main__":

pool =pool()

pool.map(main, [i*10 for i in range(10)])

爬取的部分資料如下:

Python爬取貓眼電影

不多說,直接上 import requests import re import random import pymysql import time 連線資料庫 db pymysql.connect host localhost port 3306,user root passwd a db pyt...

爬取貓眼電影

有乙份工作需要我列出兩個電影院的每天電影排期資訊,我不想每次都要去貓眼上覆制貼上。所以做了個爬蟲 功能 能夠知道每天的電影排期資訊 使用限制 只能在當天使用,不能在前一晚上使用,後面我會再考慮修改 coding utf 8 import requests import re from bs4 imp...

python爬取貓眼電影排行

完整的 如下在這裡 閒著沒事,把解析html中的正則方法改用了xpath與beautifulsoup,只能說各有各的優點吧。正則的話,提取資訊可以連貫,一次性提取出所有需要的資訊,當然前提是你的正則式子沒有寫錯,所以說正則寫起來相比xpath與beautifulsoup來說要複雜一下,提取出錯後,除...