国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Python爬蟲開發(fā)實戰(zhàn)②】使用urllib以及jsonpath爬取即將上映電影信息

這篇具有很好參考價值的文章主要介紹了【Python爬蟲開發(fā)實戰(zhàn)②】使用urllib以及jsonpath爬取即將上映電影信息。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

??個人主頁:為夢而生~ 關(guān)注我一起學(xué)習(xí)吧!
??專欄:python網(wǎng)絡(luò)爬蟲從基礎(chǔ)到實戰(zhàn) 歡迎訂閱!后面的內(nèi)容會越來越有意思~
??往期推薦
??首先,我們前面講了多篇基礎(chǔ)內(nèi)容:
【Python爬蟲開發(fā)基礎(chǔ)④】爬蟲原理
【Python爬蟲開發(fā)基礎(chǔ)⑤】HTML概述與基本標(biāo)簽詳解
【Python爬蟲開發(fā)基礎(chǔ)⑥】計算機(jī)網(wǎng)絡(luò)基礎(chǔ)(Web和HTTP)
【Python爬蟲開發(fā)基礎(chǔ)⑦】urllib庫的基本使用
【Python爬蟲開發(fā)基礎(chǔ)⑧】XPath庫及其基本用法
【Python爬蟲開發(fā)基礎(chǔ)⑨】jsonpath和BeautifulSoup庫概述及其對比
??在本文章之前,上一篇實戰(zhàn)的文章:
【Python爬蟲開發(fā)實戰(zhàn)①】使用urllib以及XPath爬取可愛小貓圖片
大家可以復(fù)制代碼感受一下爬蟲的魅力~
??本期內(nèi)容:我們來接著上次的解析庫jsonpath,以及前面的urllib,進(jìn)行一個比較有趣的實戰(zhàn):獲取即將上映的電影信息

跟上期一樣,我們先來看一下效果:
【Python爬蟲開發(fā)實戰(zhàn)②】使用urllib以及jsonpath爬取即將上映電影信息,python網(wǎng)絡(luò)爬蟲從基礎(chǔ)到實戰(zhàn),python,爬蟲,開發(fā)語言,urllib,數(shù)據(jù)挖掘,json



1 需要使用的庫

  • urllib

urllib是Python的一個標(biāo)準(zhǔn)庫,用于處理URL(統(tǒng)一資源定位符)的模塊。它提供了一些常用的功能,包括發(fā)送請求、處理響應(yīng)、解析URL等。

  • 可以點擊之前文章鏈接學(xué)習(xí)基礎(chǔ)知識【Python爬蟲開發(fā)基礎(chǔ)⑦】urllib庫的基本使用
  • json

JSON(JavaScript Object Notation)是一種輕量級的數(shù)據(jù)交換格式。它以易于閱讀和編寫的文本格式來表示結(jié)構(gòu)化數(shù)據(jù)。JSON數(shù)據(jù)格式廣泛用于互聯(lián)網(wǎng)應(yīng)用之間的數(shù)據(jù)傳輸,并且被各種編程語言支持。

  • 使用python對json格式數(shù)據(jù)進(jìn)行操作,可參考【Python爬蟲開發(fā)基礎(chǔ)③】Python基礎(chǔ)(文件操作方法匯總)這篇文章
  • jsonpath

JSONPath是一種用于從JSON數(shù)據(jù)中提取或查詢數(shù)據(jù)的表達(dá)式語言。它最初由史蒂芬·摩根(Stephen Morgan)在2007年創(chuàng)建,并在2014年成為了IETF(互聯(lián)網(wǎng)工程任務(wù)組)的標(biāo)準(zhǔn)。

  • 大家可以通過上一篇文章了解一下jsonpath解析 【Python爬蟲開發(fā)基礎(chǔ)⑨】jsonpath和BeautifulSoup庫概述及其對比
  • csv

Python的csv是一個用于讀取、寫入和操作CSV(逗號分隔值)文件的模塊。CSV文件是一種常見的用于存儲和交換數(shù)據(jù)的文件格式,它將數(shù)據(jù)按照逗號進(jìn)行分隔,并可使用文本編輯器進(jìn)行查看和編輯。
在Python中,使用csv模塊可以輕松地讀取和寫入CSV文件。它提供了一些用于處理CSV數(shù)據(jù)的函數(shù)和類,包括Reader、Writer和DictReader等。

  • 大家同樣可以通過這篇文章了解一下csv【Python爬蟲開發(fā)基礎(chǔ)③】Python基礎(chǔ)(文件操作方法匯總)

2 尋找接口并創(chuàng)建請求

首先打開首頁,我們究竟從哪里能得到想要的數(shù)據(jù)呢?有兩種方法,一、通過定位得到HTML代碼,通過解析代碼得到想要的內(nèi)容;二、通過抓包,得到主要的接口,通過對這個接口發(fā)送請求,就可以得到數(shù)據(jù)。

在這里,我們通過第二種方法,也就是抓包獲取。

  1. 首先打開相應(yīng)的網(wǎng)頁,按F12打開開發(fā)者工具點擊網(wǎng)絡(luò),并清除所有內(nèi)容。

  2. 刷新頁面,抓取到響應(yīng)的數(shù)據(jù),找到j(luò)son格式數(shù)據(jù),該接口就是我們需要的
    【Python爬蟲開發(fā)實戰(zhàn)②】使用urllib以及jsonpath爬取即將上映電影信息,python網(wǎng)絡(luò)爬蟲從基礎(chǔ)到實戰(zhàn),python,爬蟲,開發(fā)語言,urllib,數(shù)據(jù)挖掘,json


3 發(fā)送請求并獲取響應(yīng)

下面我們開始寫代碼:

  • 導(dǎo)入需要的庫
import urllib.request
import json
import jsonpath
import csv
  • 請求對象的定制
# 請求對象的定制
def create_request():
    url = '(自己復(fù)制過來)'
    
    headers = {
        'Cookie':'(自己復(fù)制過來)',
        'Referer':'(自己復(fù)制過來)',
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36'
    }
    
    request = urllib.request.Request(url = url, headers = headers)
    
    return request
  • 獲取網(wǎng)頁源碼
# 獲取網(wǎng)頁的源碼
def get_content(request):
    # 發(fā)送請求獲取響應(yīng)
    response = urllib.request.urlopen(request)
    # 對響應(yīng)進(jìn)行解碼
    content = response.read().decode('utf-8')
#     print(content)
    # 返回
    return content

在這里得到的content就是獲取到的響應(yīng)數(shù)據(jù)文章來源地址http://www.zghlxwxcb.cn/news/detail-533246.html


4 使用jsonpath解析得到的json數(shù)據(jù)

def analyze(content):
    content = content.split('(')[1].split(')')[0]

    with open('tpp.json', 'w', encoding='utf-8') as fp:
        fp.write(content)

    obj = json.load(open('tpp.json', 'r', encoding='utf-8'))

    return obj
  • 最后將獲得的數(shù)據(jù)寫入到csv文件中
def down_load(obj):
    showName_list = jsonpath.jsonpath(obj, '$..showName')
    director_list = jsonpath.jsonpath(obj, '$..director') # 95
    leadingRole_list = jsonpath.jsonpath(obj, '$..leadingRole') # 90
    type_list = jsonpath.jsonpath(obj, '$..type')
    country_list = jsonpath.jsonpath(obj, '$..country')
    language_list = jsonpath.jsonpath(obj, '$..language')
    # duration_list = jsonpath.jsonpath(obj, '$..duration') # 57
    openDay_list = jsonpath.jsonpath(obj, '$..openDay')
    
    with open('./即將上映電影信息.csv', 'a', encoding='gbk', newline='') as f:
        a = csv.writer(f)
        field = ['電影名', '導(dǎo)演', '主演', '類型', '國家', '語言', '上映時間']
        a.writerow(field)
        print(['電影名', '導(dǎo)演', '主演', '類型', '國家', '語言', '上映時間'])

        for i in range(len(leadingRole_list)):
            list_data = [showName_list[i], director_list[i], leadingRole_list[i], type_list[i], country_list[i], language_list[i], openDay_list[i]]
            a.writerow(list_data)
            print(list_data)
  • 最后,我們按順序調(diào)用以上函數(shù)就可以實現(xiàn)了
# (1) 請求對象的定制
request = create_request()
# (2) 獲取網(wǎng)頁的源碼
content = get_content(request)
# (3) 解析
obj = analyze(content)
# (4) 下載
down_load(obj)

到了這里,關(guān)于【Python爬蟲開發(fā)實戰(zhàn)②】使用urllib以及jsonpath爬取即將上映電影信息的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • python爬蟲實戰(zhàn)——小說爬取

    python爬蟲實戰(zhàn)——小說爬取

    基于 requests 庫和 lxml 庫編寫的爬蟲,目標(biāo)小說網(wǎng)站域名http://www.365kk.cc/,類似的小說網(wǎng)站殊途同歸,均可采用本文方法爬取。 目標(biāo)網(wǎng)站 :傳送門 本文的目標(biāo)書籍 :《我的師兄實在太穩(wěn)健了》 “渡劫只有九成八的把握,和送死有什么區(qū)別?” 網(wǎng)絡(luò)爬蟲的工作實際上主要分為

    2024年02月06日
    瀏覽(25)
  • Python爬蟲實戰(zhàn)——爬取新聞數(shù)據(jù)(簡單的深度爬蟲)

    Python爬蟲實戰(zhàn)——爬取新聞數(shù)據(jù)(簡單的深度爬蟲)

    ? ? ? ? 又到了爬新聞的環(huán)節(jié)(好像學(xué)爬蟲都要去爬爬新聞,沒辦法誰讓新聞一般都很好爬呢XD,拿來練練手),只作為技術(shù)分享,這一次要的數(shù)據(jù)是分在了兩個界面,所以試一下深度爬蟲,不過是很簡單的。 ?網(wǎng)頁url 1.先看看網(wǎng)站網(wǎng)址的規(guī)律 ?發(fā)現(xiàn)這部分就是每一天的新聞

    2024年02月11日
    瀏覽(20)
  • Python 爬蟲之 urllib 包基本使用

    urllib 是一個 python 內(nèi)置包,不需要額外安裝即可使用,包里面包含了以下幾個用來處理 url 的模塊: urllib.request,用來打開和讀取 url,意思就是可以用它來模擬發(fā)送請求,就像在瀏覽器里輸入網(wǎng)址然后敲擊回車一樣,獲取網(wǎng)頁響應(yīng)內(nèi)容。 urllib.error,用來處理 urllib.request 引起

    2024年02月09日
    瀏覽(21)
  • Python爬蟲庫之urllib使用詳解

    Python爬蟲庫之urllib使用詳解

    ? 一、Python urllib庫 Python urllib 庫用于操作網(wǎng)頁 URL,并對網(wǎng)頁的內(nèi)容進(jìn)行抓取處理。 Python3 的 urllib。 urllib 包 包含以下幾個模塊: urllib.request - 打開和讀取 URL。 urllib.error - 包含 urllib.request 拋出的異常。 urllib.parse - 解析 URL。 urllib.robotparser - 解析 robots.txt 文件。 二、urllib.r

    2024年02月11日
    瀏覽(29)
  • python爬蟲實戰(zhàn)(1)--爬取新聞數(shù)據(jù)

    python爬蟲實戰(zhàn)(1)--爬取新聞數(shù)據(jù)

    想要每天看到新聞數(shù)據(jù)又不想占用太多時間去整理,萌生自己抓取新聞網(wǎng)站的想法。 使用python語言可以快速實現(xiàn),調(diào)用 BeautifulSoup 包里面的方法 安裝BeautifulSoup 完成以后引入項目 定義請求頭,方便把請求包裝成正常的用戶請求,防止被拒絕 定義被抓取的url,并請求加上請求

    2024年02月13日
    瀏覽(30)
  • 【爬蟲系列】Python爬蟲實戰(zhàn)--招聘網(wǎng)站的職位信息爬取

    【爬蟲系列】Python爬蟲實戰(zhàn)--招聘網(wǎng)站的職位信息爬取

    1. 需求分析 從網(wǎng)上找工作,大家一般都會通過各種招聘網(wǎng)站去檢索相關(guān)信息,今天利用爬蟲采集招聘網(wǎng)站的職位信息,比如崗位名稱,崗位要求,薪資,公司名稱,公司規(guī)模,公司位置,福利待遇等最為關(guān)心的內(nèi)容。在采集和解析完成后,使用 Excel 或 csv 文件保存。 2. 目標(biāo)

    2024年02月02日
    瀏覽(28)
  • Python爬蟲基礎(chǔ)(一):urllib庫的使用詳解

    Python爬蟲基礎(chǔ)(一):urllib庫的使用詳解

    Python爬蟲基礎(chǔ)(一):urllib庫的使用詳解 Python爬蟲基礎(chǔ)(二):使用xpath與jsonpath解析爬取的數(shù)據(jù) Python爬蟲基礎(chǔ)(三):使用Selenium動態(tài)加載網(wǎng)頁 Python爬蟲基礎(chǔ)(四):使用更方便的requests庫 Python爬蟲基礎(chǔ)(五):使用scrapy框架 urllib是一個python自帶的庫,不需要手動安裝。

    2024年02月08日
    瀏覽(20)
  • Python應(yīng)用-爬蟲實戰(zhàn)-求是網(wǎng)周刊文章爬取

    任務(wù)描述 本關(guān)任務(wù):編寫一個爬蟲,并使用正則表達(dá)式獲取求是周刊 2019 年第一期的所有文章的 url 。詳情請查看《求是》2019年第1期?。 相關(guān)知識 獲取每個新聞的 url 有以下幾個步驟: 首先獲取 2019 年第 1 期頁面的源碼,需要解決部分反爬機(jī)制; 找到目標(biāo) url 所在位置,觀

    2024年02月04日
    瀏覽(35)
  • Python爬蟲實戰(zhàn)入門:爬取360模擬翻譯(僅實驗)

    Python爬蟲實戰(zhàn)入門:爬取360模擬翻譯(僅實驗)

    需求 目標(biāo)網(wǎng)站: https://fanyi.so.com/# 要求:爬取360翻譯數(shù)據(jù)包,實現(xiàn)翻譯功能 所需第三方庫 requests 簡介 requests 模塊是 python 基于 urllib,采用 Apache2 Licensed 開源協(xié)議的 HTTP 庫。它比 urllib 更加方便,可以節(jié)約我們大量的工作,完全滿足 HTTP 測試需求。 安裝 pip install -i https://py

    2024年02月22日
    瀏覽(24)
  • 爬蟲學(xué)習(xí)記錄之Python 爬蟲實戰(zhàn):爬取研招網(wǎng)招生信息詳情

    爬蟲學(xué)習(xí)記錄之Python 爬蟲實戰(zhàn):爬取研招網(wǎng)招生信息詳情

    【簡介】本篇博客 為愛沖鋒 ,爬取北京全部高校的全部招生信息,最后持久化存儲為表格形式,可以用作篩選高校。 此處導(dǎo)入本次爬蟲所需要的全部依賴包分別是以下內(nèi)容,本篇博客將爬取研招網(wǎng)北京所有高校的招生信息,主要爬取內(nèi)容為學(xué)校,考試方式,所在學(xué)院,專業(yè)

    2024年01月24日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包