溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

使用python怎么爬取愛奇藝熱門電影

發(fā)布時(shí)間:2021-05-21 15:46:48 來源:億速云 閱讀:395 作者:Leah 欄目:開發(fā)技術(shù)

這篇文章將為大家詳細(xì)講解有關(guān)使用python怎么爬取愛奇藝熱門電影,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

一、首先我們要找到目標(biāo)

找到目標(biāo)先分析一下網(wǎng)頁(url:https://list.iqiyi.com/www/1/-------------11-1-1-iqiyi–.html),很幸運(yùn)這個(gè)只有一個(gè)網(wǎng)頁,不需要翻頁。

使用python怎么爬取愛奇藝熱門電影

二、F12查看網(wǎng)頁源代碼

找到目標(biāo),分析如何獲取需要的數(shù)據(jù)。找到href與電影名稱

使用python怎么爬取愛奇藝熱門電影

三、進(jìn)行代碼實(shí)現(xiàn),獲取想要資源。

'''
爬取愛奇藝電影與地址路徑

操作步驟
1,獲取到url內(nèi)容

2,css選擇其選擇內(nèi)容

3,保存自己需要數(shù)據(jù)

'''
#導(dǎo)入爬蟲需要的包
import requests
from bs4 import BeautifulSoup
#requests與BeautifulSoup用來解析網(wǎng)頁的
import time
#設(shè)置訪問網(wǎng)頁時(shí)間,防止自己IP訪問多了被限制拒絕訪問
import re
class Position():

    def __init__(self,position_name,position_require,):#構(gòu)建對(duì)象屬性
        self.position_name=position_name
        self.position_require=position_require

    def __str__(self):
        return '%s%s/n'%(self.position_name,self.position_require)#重載方法將輸入變量改成字符串形式

class Aiqiyi():
    def iqiyi(self,url):
        head= {
            'User-Agent': "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.67 Safari/537.36 Edg/87.0.664.47"
        }  #模擬的服務(wù)器頭
        html = requests.get(url,headers=head)
        #headers=hard 讓腳本以瀏覽器的方式去訪問,有一些網(wǎng)址禁止以python的反爬機(jī)制,這就是其中一個(gè)
        soup = BeautifulSoup(html.content, 'lxml', from_encoding='utf-8')  # BeautifulSoup打看網(wǎng)頁
        soupl = soup.select(".qy-list-wrap")  # 查找標(biāo)簽,用css選擇器,選擇自己需要數(shù)據(jù) 進(jìn)行選擇頁面第一次內(nèi)容(標(biāo)簽要找到唯一的,找id好,如果沒有考慮其他標(biāo)簽如class)
        results = []  # 創(chuàng)建一個(gè)列表用來存儲(chǔ)數(shù)據(jù)
        for e in soupl:
            biao = e.select('.qy-mod-li')  # 進(jìn)行二次篩選
            for h in biao:
                p=Position(h.select_one('.qy-mod-link-wrap').get_text(strip=True),
                       h.select_one('.title-wrap').get_text(strip=True))#調(diào)用類轉(zhuǎn)換(繼續(xù)三次篩選選擇自己需要內(nèi)容)
                results.append(p)
        return results  # 返回內(nèi)容

    def address(self,url):
        #保存網(wǎng)址
        head = {
            'User-Agent': "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.67 Safari/537.36 Edg/87.0.664.47"
        }  # 模擬的服務(wù)器頭
        html = requests.get(url, headers=head)
        soup = BeautifulSoup(html.content, 'lxml', from_encoding='utf-8')  # BeautifulSoup打看網(wǎng)頁
        alist = soup.find('div', class_='qy-list-wrap').find_all("a")  # 查找div塊模塊下的  a標(biāo)簽
        ls=[]
        for i in alist:
            ls.append(i.get('href'))

        return ls



if __name__ == '__main__':
    time.sleep(2)
    #設(shè)置2秒訪問一次
    a=Aiqiyi()
    url = "https://list.iqiyi.com/www/1/-------------11-1-1-iqiyi--.html"
    with open(file='e:/練習(xí).txt ', mode='a+') as f:  # e:/練習(xí).txt 為我電腦新建的文件,a+為給內(nèi)容進(jìn)行添加,但不進(jìn)行覆蓋原內(nèi)容。
         for item in a.iqiyi(url):
             line = f'{item.position_name}\t{item.position_require}\n'
             f.write(line)  # 采用方法
             print("下載完成")
    with open(file='e:/地址.txt ', mode='a+') as f:  # e:/練習(xí).txt 為我電腦新建的文件,a+為給內(nèi)容進(jìn)行添加,但不進(jìn)行覆蓋原內(nèi)容。
        for item in a.address(url):
            line=f'https{item}\n'
            f.write(line)  # 采用方法
            print("下載完成")

四、查看現(xiàn)象

使用python怎么爬取愛奇藝熱門電影
使用python怎么爬取愛奇藝熱門電影

python主要應(yīng)用領(lǐng)域有哪些

1、云計(jì)算,典型應(yīng)用OpenStack。2、WEB前端開發(fā),眾多大型網(wǎng)站均為Python開發(fā)。3.人工智能應(yīng)用,基于大數(shù)據(jù)分析和深度學(xué)習(xí)而發(fā)展出來的人工智能本質(zhì)上已經(jīng)無法離開python。4、系統(tǒng)運(yùn)維工程項(xiàng)目,自動(dòng)化運(yùn)維的標(biāo)配就是python+Django/flask。5、金融理財(cái)分析,量化交易,金融分析。6、大數(shù)據(jù)分析。

關(guān)于使用python怎么爬取愛奇藝熱門電影就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI