iT邦幫忙

0

網頁爬蟲如何下載檔案

  • 分享至 

  • xImage

請問大大
當我們使用爬蟲後,看到javascript:Download('CFswBQsuGB8DDBcHBQAAODMJGRwUBQMbCycDDhIyGA4KGBIqHgoyATwPAAMELzBeWDkiDwIJFw8JHB8JJT07BQslCR1HXHtPFgUV')
除了用Click點擊下載外,有沒有辦法知道URL,在背景後下載

用Click程式不知道它下載玩了沒,就會繼續執行下一個程式,或是可以知道檔案下載完成
whitefloor iT邦研究生 2 級 ‧ 2023-11-07 11:03:05 檢舉
http get 查一下 js 怎麼用,把下載的 URL 用 get 方法處理,通常是就可以下載
whitefloor iT邦研究生 2 級 ‧ 2023-11-07 11:33:46 檢舉
至於要知道有沒有在背景的話要看一下你爬蟲工具有沒有提供,不過通常比較靠譜的作法是寫個log檔,失敗的就記錄下來重抓,或是額外做處理,想要有個下載介面那得花另外的工,還比較麻煩
froce iT邦大師 1 級 ‧ 2023-11-07 13:38:00 檢舉
看網址:
1. 瀏覽器F12直接看位址。
2. 去看他js裡面 Download那個函式怎麼寫的。
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

1
熊熊工程師
iT邦研究生 1 級 ‧ 2023-11-09 10:59:02
最佳解答

JavaScript 生成的下載連結通常需要模擬使用者互動才能下載檔案。在背景自動下載這種類型的檔案通常較為複雜,因為這需要模擬瀏覽器行為,包括點擊連結和處理下載。

有一種方式可以嘗試在背景下載這樣的檔案,但請注意這可能並不總是可行,而且也可能受到網站的限制:

  1. 使用 Selenium: Selenium 是一個自動化測試工具,也可以用於模擬使用者在網頁上的操作,包括點擊連結和下載檔案。您可以使用 Selenium 開啟網頁、點擊下載連結並處理檔案下載。然後,您可以從瀏覽器的下載目錄中找到檔案並將其移動到所需的位置。

    這是一個使用 Python 和 Selenium 的示例:

    from selenium import webdriver
    
    # 建立一個 Chrome WebDriver
    driver = webdriver.Chrome()
    
    # 開啟頁面
    driver.get("URL")
    
    # 找到下載連結並點擊
    download_link = driver.find_element_by_partial_link_text("Download")
    download_link.click()
    
    # 等待檔案下載完成,可以透過檢查下載目錄中的檔案數量等方式等待
    # 在此之後,您可以將檔案從下載目錄移動到所需的位置
    

    請注意,這僅僅是一個示例,實際情況可能會更複雜。此外,當爬取網站內容時,請確保遵守網站的使用條款和法律法規。

總之,在背景自動下載 JavaScript 生成的檔案連結通常需要使用自動化工具,如 Selenium,來模擬使用者互動。但請小心不要濫用這個能力,以遵守法律和倫理規定。

我要發表回答

立即登入回答