日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

python爬取貓眼電影排名

系統 2367 0

python爬取貓眼電影排名

本次爬蟲主要使用requests庫爬取和正則表達式re解析,下面進行簡要分析

1、項目流程

1、獲取貓眼電影排行榜一頁的頁面信息,通過requests.get獲得

2、使用正則表達式解析一個頁面的頁面信息,獲得需要內容

3、通過生成器爬取多個頁面內容,輸出

4、將所得到內容存入字典中,輸出

5、將所得到信息存儲到MongoDB數據庫中

2、項目結果

成功爬取,存入mongodb數據庫
python爬取貓眼電影排名_第1張圖片
mongodb查詢 python爬取貓眼電影排名_第2張圖片

3、項目代碼

            
              #!/usr/bin/env python 
# -*- coding:utf-8 -*-
#作者:nuancolor
#網址:暫無


import requests
from requests.exceptions import RequestException
import re
import pymongo

# 配置數據庫信息
MONGO_HOST = "127.0.0.1"  # 主機IP
MONGO_URl = 'localhost'
MONGO_DB = 'test'  # 數據庫名
MONGO_TABLE = 'movies'  # 表名

# 連接數據庫
client = pymongo.MongoClient(MONGO_URl)
db = client[MONGO_DB]


# 存入數據庫
def save_url_to_Mongo(result):
    try:
        if db[MONGO_TABLE].insert_one(result):
            print('存儲到MongoDB成功', result)
    except Exception:
        print('存儲到MongoDb失敗', result)


# 獲取
def get_one_page(url):
    try:
        response = requests.get(url)
        if response.status_code == 200:
            return response.text
        return None
    except RequestException:
        return None


# 解析
def parse_one_page(html):
    pattern = re.compile('
              
.*?board-index.*?>(\d+).*? ' + ' (.*?)

.*?star">(.*?)

' + '.*?>(.*?)

.*?integer">(.*?)' + '.*?fraction">(.*?).*?
', re.S) items = re.findall(pattern, html) # 以字典的形式存儲起來 headurl = 'https://maoyan.com' for item in items: yield { 'index': item[0], 'url': headurl + item[1], 'title': item[2], 'actor': item[3].strip()[3:], 'time': item[4].strip()[5:], 'score': item[5] + item[6] } def main(offset): url = 'https://maoyan.com/board/4?offset=' + str(offset) html = get_one_page(url) for item in parse_one_page(html): print(item) result = item save_url_to_Mongo(result) if __name__ == '__main__': for i in range(3): main(i * 10)

4、遇到的問題及解決

1、進行頁面解析是書寫正則表達式一定要規范,不然會出現報錯或解析內容為空列表

2、爬取電影的url發現頁面只爬取到網頁鏈接的后半部分,在進行數據處理是進行相應補充即可

3、連接pymongo是報錯,沒有發現該庫,我使用的是spyder運行項目,換pycharm部署之后成功。

小結

本次項目主要是對requests庫和re庫的一個熟練使用,途中出現的問題等都加深了對爬蟲處理的理解與應用。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 酒泉市| 和硕县| 新邵县| 墨脱县| 定襄县| 镇坪县| 土默特右旗| 武乡县| 凌云县| 武鸣县| 印江| 兰西县| 文登市| 读书| 西青区| 龙井市| 靖宇县| 都匀市| 房产| 宣武区| 景德镇市| 青州市| 新乐市| 龙井市| 陵水| 陵川县| 兰坪| 黑山县| 中方县| 桃江县| 镇沅| 敦化市| 连南| 华宁县| 吴川市| 治多县| 玉树县| 永春县| 天峨县| 灌南县| 诸城市|