吴忠躺衫网络科技有限公司

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

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

3天內不再提示

豆瓣電影Top250信息爬取

python爬蟲知識分享 ? 來源:python爬蟲知識分享 ? 作者:python爬蟲知識分享 ? 2022-03-23 15:50 ? 次閱讀

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

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

分析:

分析url地址:每頁25條數據,共計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)

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

...

具體實現代碼如下:

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'
        }
        # 執行爬取
        res = requests.get(url,headers=headers)
        #判斷響應狀態,并響應爬取內容
        if res.status_code == 200:
            return res.text
        else:
            return None
    except RequestException:
        return None

def parsePage(content):
    '''解析爬取網頁中的內容,并返回字段結果'''
    print(content)
    # =========使用pyquery解析==================
    # 解析HTML文檔
    doc = pq(content)
    #獲取網頁中所有標簽并遍歷輸出標簽名
    items = doc("div.item")
    #遍歷封裝數據并返回
    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文檔,返回根節點對象
    html = etree.HTML(content)
    #獲取網頁中所有標簽并遍歷輸出標簽名
    items = html.xpath('//div[@class="item"]')
    #遍歷封裝數據并返回
    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):
    '''執行文件追加寫操作'''
    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):
    ''' 主程序函數,負責調度執行爬蟲處理 '''
    url = 'https://movie.douban.com/top250?start=' + str(offset)
    html = getPage(url)
    # 判斷是否爬取到數據,并調用解析函數
    if html:
        for item in parsePage(html):
            writeFile(item)

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

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

    關注

    56

    文章

    4807

    瀏覽量

    85041
  • 爬蟲
    +關注

    關注

    0

    文章

    82

    瀏覽量

    7010
收藏 人收藏

    評論

    相關推薦

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

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

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

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

    電距離和電氣間隙計算

    電距離和電氣間隙計算
    發表于 10-21 10:51 ?6次下載

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

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

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

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

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

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

    QFN錫不好如何解決?—SMT錫膏

    QFN封裝的芯片IC,側面引腳錫是個大難題,經常會遇到一些客戶反饋:qfn錫不好怎么解決?qfn芯片引腳標準上錫高度如何確定?qfn側面不錫?下面由深圳佳金源錫膏廠家來講解一下:一、QFN錫膏
    的頭像 發表于 07-17 16:07 ?1207次閱讀
    QFN<b class='flag-5'>爬</b>錫不好如何解決?—SMT錫膏

    電距離是根據什么確定的

    電距離(Creepage Distance)是指在電氣設備中,兩個導體之間沿絕緣材料表面的距離。它是一個重要的電氣參數,用于評估電氣設備在正常工作和故障條件下的絕緣性能。電距離的確定涉及到多個
    的頭像 發表于 07-12 15:39 ?1245次閱讀

    電距離用什么檢測設備

    電距離是指在電氣設備中,不同電位的導體之間,通過絕緣材料隔離的最短距離。電距離的檢測對于確保電氣設備的安全運行至關重要。本文將介紹電距離的檢測設備及其使用方法。 一、電距離檢測
    的頭像 發表于 07-12 15:37 ?703次閱讀

    電距離與電壓的對應關系

    電距離(Creepage Distance)是電氣設備中的一個重要概念,它指的是在絕緣材料表面,沿著絕緣體表面或邊緣,從帶電部分到接地部分或不同電位部分之間的最短距離。電距離的大小直接影響
    的頭像 發表于 07-12 15:35 ?3378次閱讀

    PCB設計安規丨電氣間隙與電距離要點

    在PCB設計中,電距離和電氣間隙是兩個非常重要的安規要求。它們都涉及到PCB上元件之間的安全距離,以確保在元件故障時,不會發生短路或其他安全問題。 電距離是指兩個連接的元件之間的距離,通常是通過
    發表于 05-10 09:50

    OpenHarmony開發案例:【電影卡片】

    基于元服務卡片的能力,實現帶有卡片的電影應用,介紹卡片的開發過程和生命周期實現。
    的頭像 發表于 04-15 17:53 ?1344次閱讀
    OpenHarmony開發案例:【<b class='flag-5'>電影</b>卡片】

    帶PFC電路的75W輸出功率、高效率的單級反激式電源TOP250YN中文資料

    電子發燒友網站提供《帶PFC電路的75W輸出功率、高效率的單級反激式電源TOP250YN中文資料.pdf》資料免費下載
    發表于 03-22 09:37 ?2次下載

    帶PFC電路的75W輸出功率、高效率的單級反激式電源TOP250YN75W數據手冊

    電子發燒友網站提供《帶PFC電路的75W輸出功率、高效率的單級反激式電源TOP250YN75W數據手冊.pdf》資料免費下載
    發表于 03-22 09:28 ?2次下載

    pcb的電距離之解決方案大全

    pcb的電距離之解決方案大全
    的頭像 發表于 03-14 15:26 ?1785次閱讀
    E利博娱乐城| 赌博药| 百家乐赢钱秘密| 百家乐官网娱乐官方网| 威尼斯人娱乐棋牌是真的吗| 网上百家乐官网有人赢过嘛 | 申博太阳城娱乐| 九州百家乐娱乐城| 香港百家乐官网玩法| 开平市| 大发888好么| 银河百家乐的玩法技巧和规则| 威尼斯人娱乐城吃饭| 澳门百家乐威尼斯| 百家乐官网送钱平台| 网络百家乐官网公式打法| 百家乐官网分路单析器| 百家乐免费送现金| 亚洲百家乐新全讯网| 疯狂百家乐官网游戏| 百家乐官网获胜秘决百家乐官网获胜秘诀| 深水埗区| 拉斯维加斯娱乐| 香港六合彩开奖结果| 大发888 备用6222| 大发888下载安装包| 百家乐投资| 百家乐娱乐真钱游戏| 百家乐技巧公司| 赌博中百家乐什么意思| 波音百家乐游戏| 菲彩百家乐官网的玩法技巧和规则| 在线百家乐官网安卓| 百家乐官网赢家公式| 广德县| 孟村| 佛冈县| 百家乐官网如何计算| 百家乐官网怎么才赢| 汕头市| 百家乐官网怎样投注好|