好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > Python爬蟲爬取愛奇藝電影片庫首頁的實例代碼

Python爬蟲爬取愛奇藝電影片庫首頁的實例代碼

熱門標簽:江蘇房產電銷機器人廠家 荊州云電銷機器人供應商 蘇州電銷機器人十大排行榜 幫人做地圖標注收費算詐騙嗎 外呼不封號系統 電信營業廳400電話申請 溫州旅游地圖標注 悟空智電銷機器人6 遼寧400電話辦理多少錢

上篇文章給大家介紹了Python爬取愛奇藝電影信息代碼實例 感興趣的朋友點擊查看下。

今天給大家介紹Python爬蟲爬取愛奇藝電影片庫首頁,下面是實例代碼,參考下:

import time
import traceback
import requests
from lxml import etree
import re
from bs4 import BeautifulSoup
from lxml.html.diff import end_tag
import json
import pymysql
#連接數據庫  獲取游標
def get_conn():
    """
    :return: 連接,游標
    """
    # 創建連接
    conn = pymysql.connect(host="82.157.112.34",
                    user="root",
                    password="root",
                    db="MovieRankings",
                    charset="utf8")
    # 創建游標
    cursor = conn.cursor()  # 執行完畢返回的結果集默認以元組顯示
    if ((conn != None)  (cursor != None)):
        print("數據庫連接成功!游標創建成功!")
    else:
        print("數據庫連接失敗!")
    return conn, cursor
#關閉數據庫連接和游標
def close_conn(conn, cursor):
    if cursor:
        cursor.close()
    if conn:
        conn.close()
    return 1
def get_iqy():
    #   獲取數據庫總數據條數
    conn, cursor = get_conn()
    sql = "select count(*) from movieiqy"
    cursor.execute(sql)     #   執行sql語句
    conn.commit()       #   提交事務
    all_num = cursor.fetchall()[0][0]       #cursor 返回值的類型是一個元祖的嵌套形式 比如( ( ) ,)
    pagenum=int(all_num/48)+1               #這里是計算一個下面循環的起始值    每48個電影分一組
    print(pagenum)
    print("movieiqy數據庫有", all_num, "條數據!")


    url = "https://pcw-api.iqiyi.com/search/recommend/list?channel_id=1data_type=1mode=11page_id=1ret_num=48session=ee4d98ebb4e8e44c8d4b14fa90615fb7"
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36"
    }
    # response=requests.get(url=url,headers=headers)
    # response.encoding="utf-8"
    # page_text=response.text
    # print(page_text)
    """
    """
    #
    temp_list = []      #暫時存放單部電影的數據
    dataRes = []        #每次循環把單部電影數據放到這個list
    for i in range(pagenum+1, pagenum+100):         #循環100-1次
        url = "https://pcw-api.iqiyi.com/search/recommend/list?channel_id=1data_type=1mode=11page_id=1ret_num=48session=ee4d98ebb4e8e44c8d4b14fa90615fb7"
        url_0 = "https://pcw-api.iqiyi.com/search/recommend/list?channel_id=1data_type=1mode=11page_id="
        url_0 = url_0 + str(i) + "ret_num=48session=ad1d98bb953b7e5852ff097c088d66f2"
        print(url_0)        #輸出拼接好的url
        response = requests.get(url=url_0, headers=headers)
        response.encoding = "utf-8"
        page_text = response.text
        #解析json對象
        json_obj = json.loads(page_text)
        #這里的異常捕獲是因為     測試循環的次數有可能超過電影網站提供的電影數 為了防止后續爬到空的json對象報錯
        try:
            json_list = json_obj['data']['list']
        except KeyError:
            return dataRes          #json為空 程序結束
        for j in json_list:         #   開始循環遍歷json串
            # print(json_list)
            name = j['name']        #找到電影名
            print(name)
            temp_list.append(name)
            #異常捕獲,防止出現電影沒有評分的現象
            try:
                score = j['score']      #找到電影評分
                print(score)
                temp_list.append(score)
            except KeyError:
                print( "KeyError")
                temp_list.append("iqy暫無評分")            #替換字符串

            link = j['playUrl']             #找到電影鏈接
            temp_list.append(link)
            # 解析播放狀態
            state = []
            pay_text = j['payMarkUrl']          #因為播放狀態只有在一個圖片鏈接里有 所以需要使用re解析出類似vip和only(獨播)的字樣
            if (len(pay_text) == 0):            #如果沒有這個圖片鏈接 說明電影是免費播放
                state="免費"
            else:
                find_state = re.compile("(.*?).png")
                state = re.findall(find_state, pay_text)        #正則匹配鏈接找到vip
                if(len(state)!=0):              #只有當鏈接不為空再執行
                    # print(state)
                    # 再次解析
                    state = state[0][0:3]       #字符串分片

                    # 這里只輸出了三個字符,如果是獨播,頁面顯示的是only,我們設置為”獨播“
                    if (state == "onl"):
                        state = "獨播"
                    else:
                        state = "VIP"
            # print(state)
            # 添加播放狀態
            temp_list.append(state)
            dataRes.append(temp_list)
            # print(temp_list)
            temp_list = []

        print('___________________________')
    return dataRes

def insert_iqy():
    cursor = None
    conn = None
    try:
        count=0
        list = get_iqy()
        print(f"{time.asctime()}開始插入愛奇藝電影數據")
        conn, cursor = get_conn()
        sql = "insert into movieiqy (id,name,score,path,state) values(%s,%s,%s,%s,%s)"
        for item in list:
            print(item)
            count = count + 1
            if (count % 48 == 0):
                print('___________________________')
            #異常捕獲,防止數據庫主鍵沖突
            try:
                cursor.execute(sql, [0, item[0], item[1], item[2], item[3] ])
            except pymysql.err.IntegrityError:
                print("重復!跳過!")

        conn.commit()  # 提交事務 update delete insert操作
        print(f"{time.asctime()}插入愛奇藝電影數據完畢")
    except:
        traceback.print_exc()
    finally:
        close_conn(conn, cursor)
    return;

if __name__ == '__main__':
    # get_iqy()
    insert_iqy()

到此這篇關于Python爬蟲爬取愛奇藝電影片庫首頁的實例代碼的文章就介紹到這了,更多相關Python爬取愛奇藝電影內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • python編程開發之textwrap文本樣式處理技巧
  • Python的文本常量與字符串模板之string庫
  • Python中使用subprocess庫創建附加進程
  • Python超簡單容易上手的畫圖工具庫推薦
  • python爬蟲請求庫httpx和parsel解析庫的使用測評
  • Python高級文件操作之shutil庫詳解
  • Python超簡單容易上手的畫圖工具庫(適合新手)
  • python學習之panda數據分析核心支持庫
  • Python基礎之操作MySQL數據庫
  • Python繪圖庫Matplotlib的基本用法
  • Python Excel處理庫openpyxl詳解
  • python使用openpyxl庫讀寫Excel表格的方法(增刪改查操作)
  • Python time庫的時間時鐘處理
  • Python基礎之常用庫常用方法整理
  • python數據庫批量插入數據的實現(executemany的使用)
  • Python爬蟲之必備chardet庫
  • python中requests庫+xpath+lxml簡單使用
  • Python格式化文本段落之textwrap庫

標簽:黃山 宿遷 欽州 景德鎮 喀什 濟南 臺灣 三沙

巨人網絡通訊聲明:本文標題《Python爬蟲爬取愛奇藝電影片庫首頁的實例代碼》,本文關鍵詞  Python,爬蟲,爬取,愛奇,藝,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Python爬蟲爬取愛奇藝電影片庫首頁的實例代碼》相關的同類信息!
  • 本頁收集關于Python爬蟲爬取愛奇藝電影片庫首頁的實例代碼的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 国产aⅴ激情无码久久久无码 | 男男gaygays18| 8050午夜一级A片免费视频| 少妇做爰奶水狂喷av日本 | 韩国夫妇交换刺激做爰| 欧美sex黑人大炮| 亚洲视频aaa| 大肉大捧一进一出| 星星动漫是未删减| 午夜两性试爱视频免费| 好爽?好紧?再深一点疯狂撞击| 国产精品va| 午夜爽爽爽爽永久免费视频| 国产丰满麻豆sexvideos| 免费黄色片大全| 普兰县| free性开放欧美群做a| 快手各网红裸体福利视频| 欧美性猛片AAAAAAA做受| 一级黄色片片| 天天躁人人躁人人躁狂躁| 又黄又爽的免费视频| H尖叫着喷潮痉挛抽搐np| 国产精品亚洲影院在线观看| 宝宝我想听你叫| 欧美高清在线视频在线99精品| 真人无遮挡床戏视频| 四川少妇婬乱一级毛片视频69式 | 狠狠人妻久久久久久综合蜜桃| 羞羞漫画在线观看入口| 97亚洲AV无码国产精色情园| 全部孕妇毛片| 国色A片三級三級三級蜜桃成熟时| 久久观看视频| 99精品国产自在现线免费下载| 男人桶女人桶到爽免费观看动漫| 一级做ae和三级做ae的顺序| 深一点h女| 女同学被?到爽??流片| 美女自动脱了胸衣| 美国一级大黄大色毛片|