Python趣味爬蟲之爬取愛奇藝熱門電影
更新時間:2021年06月06日 09:57:30 作者:yunyun云蕓
好久沒帶大家實現(xiàn)Python爬蟲了,文中有非常詳細的代碼示例,對不會爬蟲的小伙伴們很有幫助哦,需要的朋友可以參考下
一、首先我們要找到目標
找到目標先分析一下網(wǎng)頁很幸運這個只有一個網(wǎng)頁,不需要翻頁。

二、F12查看網(wǎng)頁源代碼
找到目標,分析如何獲取需要的數(shù)據(jù)。找到href與電影名稱

三、進行代碼實現(xiàn),獲取想要資源。
'''
操作步驟
1,獲取到url內(nèi)容
2,css選擇其選擇內(nèi)容
3,保存自己需要數(shù)據(jù)
'''
#導入爬蟲需要的包
import requests
from bs4 import BeautifulSoup
#requests與BeautifulSoup用來解析網(wǎng)頁的
import time
#設置訪問網(wǎng)頁時間,防止自己IP訪問多了被限制拒絕訪問
import re
class Position():
def __init__(self,position_name,position_require,):#構建對象屬性
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"
} #模擬的服務器頭
html = requests.get(url,headers=head)
#headers=hard 讓腳本以瀏覽器的方式去訪問,有一些網(wǎng)址禁止以python的反爬機制,這就是其中一個
soup = BeautifulSoup(html.content, 'lxml', from_encoding='utf-8') # BeautifulSoup打看網(wǎng)頁
soupl = soup.select(".qy-list-wrap") # 查找標簽,用css選擇器,選擇自己需要數(shù)據(jù) 進行選擇頁面第一次內(nèi)容(標簽要找到唯一的,找id好,如果沒有考慮其他標簽如class)
results = [] # 創(chuàng)建一個列表用來存儲數(shù)據(jù)
for e in soupl:
biao = e.select('.qy-mod-li') # 進行二次篩選
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"
} # 模擬的服務器頭
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標簽
ls=[]
for i in alist:
ls.append(i.get('href'))
return ls
if __name__ == '__main__':
time.sleep(2)
#設置2秒訪問一次
a=Aiqiyi()
url = "https://list.iqiyi.com/www/1/-------------11-1-1-iqiyi--.html"
with open(file='e:/練習.txt ', mode='a+') as f: # e:/練習.txt 為我電腦新建的文件,a+為給內(nèi)容進行添加,但不進行覆蓋原內(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:/練習.txt 為我電腦新建的文件,a+為給內(nèi)容進行添加,但不進行覆蓋原內(nèi)容。
for item in a.address(url):
line=f'https{item}\n'
f.write(line) # 采用方法
print("下載完成")
四、查看現(xiàn)象


到此這篇關于Python趣味爬蟲之爬取愛奇藝熱門電影的文章就介紹到這了,更多相關Python爬取電影內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
python周期任務調(diào)度工具Schedule使用詳解
這篇文章主要為大家介紹了python周期任務調(diào)度工具Schedule的使用及示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2021-11-11
python棧實現(xiàn)進制轉(zhuǎn)換的示例詳解
棧(Stack)是計算機科學中常用的數(shù)據(jù)結構,具有眾多實際應用,其中之一是使用棧來實現(xiàn)進制轉(zhuǎn)換,將一個數(shù)字從一種進制表示轉(zhuǎn)換為另一種進制表示,本文將深入研究棧的原理,以及如何使用Python實現(xiàn)十進制到二進制、八進制和十六進制的進制轉(zhuǎn)換,需要的朋友可以參考下2023-11-11
在交互式環(huán)境中執(zhí)行Python程序過程詳解
這篇文章主要介紹了在交互式環(huán)境中執(zhí)行Python程序過程詳解,運行Python腳本程序的方式有多種,目前主要的方式有:交互式環(huán)境運行、命令行窗口運行、開發(fā)工具上運行等,其中在不同的操作平臺上還互不相同,需要的朋友可以參考下2019-07-07
解決Pycharm調(diào)用Turtle時 窗口一閃而過的問題
今天小編就為大家分享一篇解決Pycharm調(diào)用Turtle時 窗口一閃而過的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-02-02
Pytorch實現(xiàn)Fashion-mnist分類任務全過程
這篇文章主要介紹了Pytorch實現(xiàn)Fashion-mnist分類任務全過程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-12-12

