99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

豆瓣電影Top250信息爬取

python爬蟲知識分享 ? 來源:python爬蟲知識分享 ? 作者:python爬蟲知識分享 ? 2022-03-23 15:50 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

通過本案例[豆瓣電影Top250信息爬取]鍛煉除正則表達式之外兩種信息解析方式:Xpath和PyQuery。

爬取url地址:https://movie.douban.com/top250

分析:

分析url地址:每頁25條數(shù)據(jù),共計10頁

第1頁:https://movie.douban.com/top250?start=0
第2頁:https://movie.douban.com/top250?start=25
第3頁:https://movie.douban.com/top250?start=50
...
結果:
for i in range(10):
    url = "https://movie.douban.com/top250?start="+str(i*25)

分析網(wǎng)頁源代碼內容:每部電影信息都是放在

...

具體實現(xiàn)代碼如下:

from requests.exceptions import RequestException
from lxml import etree
from pyquery import PyQuery as pq
import requests
import re,time,json

def getPage(url):
    '''爬取指定url頁面信息'''
    try:
        #定義請求頭信息
        headers = {
            'User-Agent':'User-Agent:Mozilla/5.0(WindowsNT6.1;rv:2.0.1)Gecko/20100101Firefox/4.0.1'
        }
        # 執(zhí)行爬取
        res = requests.get(url,headers=headers)
        #判斷響應狀態(tài),并響應爬取內容
        if res.status_code == 200:
            return res.text
        else:
            return None
    except RequestException:
        return None

def parsePage(content):
    '''解析爬取網(wǎng)頁中的內容,并返回字段結果'''
    print(content)
    # =========使用pyquery解析==================
    # 解析HTML文檔
    doc = pq(content)
    #獲取網(wǎng)頁中所有標簽并遍歷輸出標簽名
    items = doc("div.item")
    #遍歷封裝數(shù)據(jù)并返回
    for item in items.items():
        yield {
            'index':item.find("div.pic em").text(),
            'image':item.find("div.pic img").attr('src'),
            'title':item.find("div.hd span.title").text(),
            'actor':item.find("div.bd p:eq(0)").text(),
            'score':item.find("div.bd div.star span.rating_num").text(),
        }    

    '''
    # =======使用xpath解析====================
    # 解析HTML文檔,返回根節(jié)點對象
    html = etree.HTML(content)
    #獲取網(wǎng)頁中所有標簽并遍歷輸出標簽名
    items = html.xpath('//div[@class="item"]')
    #遍歷封裝數(shù)據(jù)并返回
    for item in items:
        yield {
            'index':item.xpath('.//div/em[@class=""]/text()')[0],
            'image':item.xpath('.//img[@width="100"]/@src')[0],
            'title':item.xpath('.//span[@class="title"]/text()')[0],
            'actor':item.xpath('.//p[@class=""]/text()')[0],
            'score':item.xpath('.//span[@class="rating_num"]/text()'),
            #'time':item[4].strip()[5:],
        }
    '''

def writeFile(content):
    '''執(zhí)行文件追加寫操作'''
    with open("./result.txt",'a',encoding='utf-8') as f:
        f.write(json.dumps(content,ensure_ascii=False) + "\n")
        #json.dumps 序列化時對中文默認使用的ascii編碼.想輸出真正的中文需要指定ensure_ascii=False

def main(offset):
    ''' 主程序函數(shù),負責調度執(zhí)行爬蟲處理 '''
    url = 'https://movie.douban.com/top250?start=' + str(offset)
    html = getPage(url)
    # 判斷是否爬取到數(shù)據(jù),并調用解析函數(shù)
    if html:
        for item in parsePage(html):
            writeFile(item)

# 判斷當前執(zhí)行是否為主程序運行,并遍歷調用主函數(shù)爬取數(shù)據(jù)
if __name__ == '__main__':
    for i in range(10):
        main(offset=i*25)
        time.sleep(1)

審核編輯:符乾江
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • python
    +關注

    關注

    56

    文章

    4827

    瀏覽量

    86762
  • 爬蟲
    +關注

    關注

    0

    文章

    83

    瀏覽量

    7508
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    請問USB緩沖區(qū)數(shù)據(jù)可以多次嗎?

    在使用USB軟件獲取數(shù)據(jù)是,下位機給我發(fā)送了13個32位數(shù)據(jù)到USB IN緩沖區(qū),為什么我調用API函數(shù)想要第一次1個32位數(shù)據(jù),完之后再取12位數(shù)據(jù),程序會卡死。
    發(fā)表于 07-16 08:12

    電氣間隙與電距離的相關設計

    眾所周知,48V相較12V電壓上升,因此需要更大的電距離(安全絕緣路徑)和電氣間隙(安全絕緣間距)。這意味著部分連接器需要重新設計。
    的頭像 發(fā)表于 07-09 11:33 ?392次閱讀

    FLIR ONE Edge Pro紅外熱像儀在寵飼養(yǎng)中的應用

    寵飼養(yǎng)中,溫度控制是決定寵物健康與幸福的關鍵因素。無論是巴西龜、蜥蜴還是蛇類,它們依賴外部熱源調節(jié)體溫,稍有不慎就可能導致健康問題。今天,我們就通過一位寵主人的真實案例,看看FLIR ONE Edge Pro智能紅外熱像儀如何幫助他精準掌控飼養(yǎng)環(huán)境,讓愛寵舒適生活。
    的頭像 發(fā)表于 06-23 13:40 ?377次閱讀

    洲明科技亮相2025全國電影交易會

    此前,5月20日至23日,2025年全國電影(廈門)交易會暨第27屆全國影片推介會在廈門舉行。作為全國電影標準化委員會LED顯示行業(yè)唯一委員企業(yè),洲明科技應邀參會,為大會主會場提供超高清LED顯示支持,并在核心展覽區(qū)“數(shù)影萬象·影視供應鏈生態(tài)展”設立專題展位,系統(tǒng)展示LE
    的頭像 發(fā)表于 05-27 13:56 ?345次閱讀

    用于攝像頭模塊的 Open Top QFN 插槽Ironwood Electronics

    、Open Top QFN插槽的核心特性Open Top結構頂部開口設計允許芯片直接放置或通過自動化設備(如放機)快速裝載,無需額外操作空間,適配攝像頭模塊的小型化需求。便于視覺檢測或調試時直接觀察
    發(fā)表于 05-09 09:11

    2025全球IGBT企業(yè)TOP 55!

    2025全球IGBT企業(yè)TOP 55!
    的頭像 發(fā)表于 04-27 16:38 ?318次閱讀
    2025全球IGBT企業(yè)<b class='flag-5'>TOP</b> 55!

    如何提高錫膏在焊接過程中的錫性?

    錫膏的錫性對于印刷質量和焊接效果至關重要。要提高錫膏在焊接過程中的錫性
    的頭像 發(fā)表于 02-15 09:21 ?501次閱讀

    什么是電距離與電氣間隙?

    電距離,可形象理解為一螞蟻沿絕緣材料表面從一導電部件至另一導電部件所經最短路徑。它涉及兩個導電部件間沿絕緣材料表面測量的最短空間距離,這一距離的設定需綜合考量電氣設備的額定電壓、絕緣材料的耐泄
    的頭像 發(fā)表于 01-16 23:05 ?1045次閱讀
    什么是<b class='flag-5'>爬</b>電距離與電氣間隙?

    華夏電影與利亞德集團合作新成果:全球首款Micro 4k LED電影屏落地

    近期,華夏電影與利亞德集團合作的又一重要成果——全球首款Micro 4k LED電影屏正式落地儀式在河北石家莊影城隆重舉行。這款電影屏是行業(yè)內唯一一款通過DCI認證的Micro LED電影
    的頭像 發(fā)表于 01-06 11:33 ?1106次閱讀

    PI推出新型寬電距離開關IC

    深耕于高壓集成電路高能效功率變換領域的知名公司Power Integrations(納斯達克股票代號:POWI)今天為其面向汽車應用的InnoSwitch3-AQ反激式開關IC推出寬電封裝選項
    的頭像 發(fā)表于 12-19 17:04 ?598次閱讀

    電距離和電氣間隙計算

    電距離和電氣間隙計算
    發(fā)表于 10-21 10:51 ?8次下載

    PCB設計中的電距離:確保電路板安全可靠

    一站式PCBA智造廠家今天為大家講講什么是PCB設計電距離?PCB設計電距離的重要性。在電子制造業(yè)中,PCB設計是至關重要的一環(huán)。而在PCB設計中,電距離是一個關鍵概念,直接關系到電路板
    的頭像 發(fā)表于 09-26 09:39 ?1103次閱讀

    索尼電影攝影機在未來電影制作教育中的作用

    日本大學藝術學院自成立以來,作為日本第一所藝術學院,100多年來培養(yǎng)了許多從事專業(yè)電影制作人才。在電影研究系,引入了索尼電影攝影機“FX9”、“FX6” 和 “FX30” 進行實踐教學。我們采訪了
    的頭像 發(fā)表于 08-16 11:06 ?1120次閱讀

    PD電誘騙芯片的妙用

    PD電快充協(xié)議芯片支持多種協(xié)議
    的頭像 發(fā)表于 08-15 10:25 ?785次閱讀
    PD<b class='flag-5'>取</b>電誘騙芯片的妙用

    如何理解PCB設計的電距離?

    一站式PCBA智造廠家今天為大家講講PCB設計電距離要求與走線規(guī)則有哪些?PCB設計電距離要求與走線規(guī)則。在PCB設計中,電距離和走線規(guī)則是關鍵的考慮因素,尤其是在高壓電路和高頻電路的設計中
    的頭像 發(fā)表于 08-15 09:23 ?2432次閱讀