黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

python爬取貓眼電影排名

系統 2551 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條評論