<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Python網(wǎng)絡(luò)爬蟲,我目前只能獲取單個文件,為啥?

          共 3872字,需瀏覽 8分鐘

           ·

          2024-06-02 09:00

          點擊上方“Python爬蟲與數(shù)據(jù)挖掘”,進行關(guān)注

          回復(fù)“書籍”即可獲贈Python從入門到進階共10本電子書

          歸來池苑皆依舊,太液芙蓉未央柳。

          大家好,我是皮皮。

          一、前言

          前幾天在Python鉆石交流群【Jethro Shen】問了一個Python網(wǎng)絡(luò)爬蟲的問題,這里拿出來給大家分享下。

          他想獲取全部文件,但是實際上,只能獲取單個文件。

          二、實現(xiàn)過程

          這里【甯同學(xué)】給了一個解決思路,如下圖所示:

          后來【瑜亮老師】也提供了一種方法。

          直接一步到位。

          下面是具體的代碼:

          import requests
          import time
          from lxml import html
          from lxml import etree

          headers = {
              'user-agent''Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 '
                            'Safari/537.36'}

          def get_href_links(url):
              response = requests.get(url, headers=headers)
              page_content = response.content
              dom_tree = html.fromstring(page_content)
              href_links = dom_tree.xpath('//a/@href')
              return href_links

          url = "https://mp.weixin.qq.com/s/BANHI5apQzlpeTTdLZAIvg"
          urls = set(get_href_links(url)[1:-5])
          mp3_d_url = 'https://res.wx.qq.com/voice/getvoice?mediaid={}'
          for url in urls:
              response = requests.get(url, headers=headers)
              html = response.text
              selector = etree.HTML(html)
              voice_encode_fileid = selector.xpath('//mpvoice/@voice_encode_fileid')[0]
              name = selector.xpath('//mpvoice/@name')[0]
              d_url = mp3_d_url.format(voice_encode_fileid)
              response = requests.get(d_url)
              if response.status_code == 200:
                  with open(name, 'wb') as f:
                      f.write(response.content)
                  print('{} 下載成功!'.format(name))
              else:
                  print('{} 下載失?。?.format(name))
              time.sleep(1)  # 設(shè)置請求間隔時間為1秒,避免被封IP

          順利地解決了粉絲的問題。

          三、總結(jié)

          大家好,我是皮皮。這篇文章主要盤點了一個Python網(wǎng)絡(luò)爬蟲的問題,文中針對該問題,給出了具體的解析和代碼實現(xiàn),幫助粉絲順利解決了問題。

          最后感謝粉絲【Jethro Shen】提問,感謝【甯同學(xué)】、【瑜亮老師】、給出的思路和代碼解析,感謝【eric】等人參與學(xué)習(xí)交流。

          【提問補充】溫馨提示,大家在群里提問的時候??梢宰⒁庀旅鎺c:如果涉及到大文件數(shù)據(jù),可以數(shù)據(jù)脫敏后,發(fā)點demo數(shù)據(jù)來(小文件的意思),然后貼點代碼(可以復(fù)制的那種),記得發(fā)報錯截圖(截全)。代碼不多的話,直接發(fā)代碼文字即可,代碼超過50行這樣的話,發(fā)個.py文件就行。

          大家在學(xué)習(xí)過程中如果有遇到問題,歡迎隨時聯(lián)系我解決(我的微信:pdcfighting1),應(yīng)粉絲要求,我創(chuàng)建了一些高質(zhì)量的Python付費學(xué)習(xí)交流群和付費接單群,歡迎大家加入我的Python學(xué)習(xí)交流群和接單群!

          小伙伴們,快快用實踐一下吧!如果在學(xué)習(xí)過程中,有遇到任何問題,歡迎加我好友,我拉你進Python學(xué)習(xí)交流群共同探討學(xué)習(xí)。

          ------------------- End -------------------

          往期精彩文章推薦:

          歡迎大家點贊,留言,轉(zhuǎn)發(fā),轉(zhuǎn)載,感謝大家的相伴與支持

          想加入Python學(xué)習(xí)群請在后臺回復(fù)【入群

          萬水千山總是情,點個【在看】行不行

          /今日留言主題/

          隨便說一兩句吧~~

          瀏覽 53
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  中国久久成人性生活黄色视频 | 欧美日韩黄色片在线看 | 欧美高清成人在线 | 91AV视频播放 | 青青青操逼电影 |