1. 程式人生 > >python爬蟲 爬取貓眼電影資料

python爬蟲 爬取貓眼電影資料

# 定義一個函式獲取貓眼電影的資料

import requests

def main():
    url = url = 'http://maoyan.com/board/4?offset=0'
    html = requests.get(url).text
    print(html)



if __name__ == '__main__':
    main()

# 利用正則匹配,獲得我們想要的資訊

"""
< dd >
< i class ="board-index board-index-10">10</i>
< a href = "/films/2760" title = "魂斷藍橋" class ="image-link" data-act="boarditem-click" 
data-val="{movieId:2760}" >
< img src = "//ms0.meituan.net/mywww/image/loading_2.e3d934bf.png" alt = "" class ="poster-default" / >
< img data - src = "http://p0.meituan.net/movie/
[email protected]
_220h_1e_1c" alt = "魂斷藍橋" class ="board-img" / >< / a > < div class ="board-item-main" > < div class ="board-item-content" > < div class ="movie-item-info" > < p class ="name" > < a href="/films/2760" title="魂斷藍橋" data-act="boarditem-click" data-val="{movieId:2760}" > 魂斷藍橋 < / a > < / p > < p class ="star" >主演:費雯·麗, 羅伯特·泰勒, 露塞爾·沃特森< / p > < p class ="releasetime" > 上映時間:1940-05-17(美國) < / p > < / div > < div class ="movie-item-number score-num" > < p class ="score" > < i class ="integer" > 9. < / i > < i class ="fraction" > 2 < / i > < / p > < / div >< / div >< / div > < / dd > """
import re


reg = r'<dd>.*?>(.*?)</i>.*?data-src="(.*?)".*?title="(.*?)".*?主演:(.*?)</p>.*?' \
              r'上映時間:(.*?)</p>.*?integer.*?>(.*?)</i>.*?fraction.*?>(.*?)</i>.*?'
reg = re.compile(reg, re.S)
items = re.findall(reg, html)
print(items)

# 迴圈遍歷列表並且把列表轉換為字典

for item in items:
        
    index = item[0]
    image = item[1]
    title = item[2]
    actor = item[3]
    time = item[4]
    score = item[5] + item[6]
    dict1 = {'index': index, 'image': image, 'title': title,
             'actor': actor, 'time': time, 'score': score}
    print(dict1)

# 把獲得的資料儲存在檔案中

import json


with open('result.txt', 'a', encoding='utf-8') as f:
    f.write(json.dumps(dict1, ensure_ascii=False))

# 利用迴圈獲取貓眼電影所有資料

def main():
    for i in range(10):
        url = 'http://maoyan.com/board/4?offset=' + str(i*10)
        

# 最後程式碼整理如下

import json
import re
from time import sleep
import requests


def main():

    for i in range(10):
        url = 'http://maoyan.com/board/4?offset=' + str(i * 10)
        html = requests.get(url).text

        reg = r'<dd>.*?>(.*?)</i>.*?data-src="(.*?)".*?title="(.*?)"'
              r'.*?主演:(.*?)</p>.*?上映時間:(.*?)</p>.*?integer.*?>'
              r'(.*?)</i>.*?fraction.*?>(.*?)</i>.*?'
        reg = re.compile(reg, re.S)
        items = re.findall(reg, html)

        for item in items:
            # print(item)
            index = item[0]
            image = item[1]
            title = item[2]
            actor = item[3]
            time = item[4]
            score = item[5] + item[6]
            dict1 = {'index': index, 'image': image, 'title': title,
                     'actor': actor, 'time': time, 'score': score}
            sleep(1)

            with open('result.txt', 'a', encoding='utf-8') as f:
                f.write(json.dumps(dict1, ensure_ascii=False))


if __name__ == '__main__':
    main()

相關推薦

python爬蟲 貓眼電影資料

# 定義一個函式獲取貓眼電影的資料​ import requests def main(): url = url = 'http://maoyan.com/board/4?offset=0' html = requests.get(url).text

python爬蟲貓眼電影top100

這個爬蟲我是跟著教程做的,也是第一次用python的re和multiprocessing(多執行緒),還知道了yield生成器的用法。不過re正則表示式真的厲害,但是學起來比較難,還在學習中。import requests import re import pymysql f

Python爬蟲-貓眼電影Top100榜單

貓眼電影的網站html組成十分簡單。 地址就是很簡單的offset=x 這個x引數更改即可翻頁。 下面的資訊使用正則表示式很快就可以得出結果。 直接放程式碼: import json

Python爬蟲豆瓣電影、讀書Top250並排序

更新:已更新豆瓣電影Top250的指令碼及網站 概述 經常用豆瓣讀書的童鞋應該知道,豆瓣Top250用的是綜合排序,除使用者評分之外還考慮了很多比如是否暢銷、點選量等等,這也就導致了一些近年來評分不高的暢銷書在這個排行榜上高高在上遠比一些經典名著排名還高,於是在這裡打算重新給To

爬蟲——貓眼電影

import json from multiprocessing import Pool import requests from requests.exceptions import RequestException import re def get_one_page

(7)Python爬蟲——豆瓣電影Top250

利用python爬取豆瓣電影Top250的相關資訊,包括電影詳情連結,圖片連結,影片中文名,影片外國名,評分,評價數,概況,導演,主演,年份,地區,類別這12項內容,然後將爬取的資訊寫入Excel表中。基本上爬取結果還是挺好的。具體程式碼如下: #!/us

python爬蟲——豆瓣電影top250資訊並載入到MongoDB資料庫中

最近在學習關於爬蟲方面的知識,因為剛開始接觸,還是萌新,所以有什麼錯誤的地方,歡迎大家指出 from multiprocessing import Pool from urllib.request import Request, urlopen import re, pymongo index

Python爬蟲--歷史天氣資料

    寫在前面:爬蟲是老鼠屎在進入實驗室後接觸的第一個任務,當時剛剛接觸程式碼的老鼠屎一下子迎來了地獄難度的爬微博簽到資料。爬了一個多月毫無成果,所幸帶我的師兄從未給我疾言厲色,他給與了我最大的包容與理解。儘管無功而返,但是那一個月也給了老鼠屎充足的學習時間,讓老鼠屎對爬蟲

(8)Python爬蟲——豆瓣影評資料

利用python爬取豆瓣最受歡迎的影評50條的相關資訊,包括標題,作者,影片名,影片詳情連結,推薦級,迴應數,影評連結,影評,有用數這9項內容,然後將爬取的資訊寫入Excel表中。具體程式碼如下: #!/usr/bin/python # -*- codin

python應用-貓眼電影top100

dump with open image 3.1 https gen items sts rac import requests import re import json import time from requests.exceptions import Reques

python爬蟲知識點總結(九)Requests+正則表達式貓眼電影

bsp code item 代碼 proc action none width auth 一、爬取流程 二、代碼演示 #-*- coding: UTF-8 -*- #_author:AlexCthon #mail:[email protected] #date:20

自學python爬蟲(四)Requests+正則表示式貓眼電影

前言 學了requests庫和正則表示式之後我們可以做個簡單的專案來練練手咯!先附上專案GitHub地址,歡迎star和fork,也可以pull request哦~ 地址:https://github.com/zhangyanwei233/Maoyan100.git 正文開始哈哈哈

Python爬蟲例項2:貓眼電影——破解字型反

 字型反爬 字型反爬也就是自定義字型反爬,通過呼叫自定義的字型檔案來渲染網頁中的文字,而網頁中的文字不再是文字,而是相應的字型編碼,通過複製或者簡單的採集是無法採集到編碼後的文字內容的。 現在貌似不少網站都有采用這種反爬機制,我們通過貓眼的實際情況來解釋一下。   下圖的是貓眼網頁

Python爬蟲實戰之Requests+正則表示式貓眼電影Top100

import requests from requests.exceptions import RequestException import re import json # from multiprocessing import Pool # 測試了下 這裡需要自己新增頭部 否則得不到網頁 hea

Python爬蟲-利用正則表示式貓眼電影

利用正則來爬去貓眼電影 =================================== ===================================================== 1 ''' 2 利用正則來爬去貓眼電影 3 1. url: http://maoya

python爬蟲貓眼電影top100

import requests from bs4 import BeautifulSoup url_list = [] all_name = [] all_num = [] all_actor = [] all_score = [] class Product_url():

python爬蟲-愛情公寓電影(2018)豆瓣短評並資料分析

說起這部電影,我本人並沒有看,其實原先是想為了情懷看一下,但是好友用親身經歷告訴我看來會後悔的,又去看了看豆瓣評分,史無前例的,,,低。 出於興趣就爬取一下這部電影在豆瓣上的短評,並且用詞雲分析一下。  1.分析url 經過分析不難發現每一頁短評的url都是一致的除

Python爬蟲入門實戰系列(二)貓眼電影排行榜

在進行本節實戰之前,希望您對requests庫以及正則表示式有所瞭解。 執行平臺:windows **Python版本: Python3.x ** 一、依賴庫的安裝 在本節實戰之前,請確保已經正確安裝了requests庫 requests庫的安裝 pip3 i

python爬蟲貓眼電影(分數的處理和多執行緒)

爬取用的庫是requests和beautifulsoup,程式碼編寫不難,主要是個別的細節處理需要注意 1、電影得分的處理 右鍵審查元素,我們看到分數的整數部分和小數部分是分開的,在beautifulsoup中,我們可以用(.strings或者.stripped_stri

python爬蟲實戰-貓眼電影榜單top100

貓眼電影是靜態網頁,並且不需要驗證碼,非常適合爬蟲的入門練習,流程如下-通過url連接獲取html內容,在html中通過正則表示式,我們提取排名,名稱,主演,上映時間等資訊,格式如下["9", "魂斷藍橋", "主演:費雯·麗,羅伯特·泰勒,露塞爾·沃特森", "上映時間:1