如果你正在尋找最強大的 抓取工具?不要再看了!這一行代碼將幫助你立即啟動并運行。
是一個 庫,可以輕松抓取網頁并從中提取數(shù)據。它可用于從單個頁面抓取數(shù)據或從多個頁面抓取數(shù)據。它還可用于從 PDF 和 HTML 表格中提取數(shù)據。
讓你只用一行代碼就可以用 抓取網站,它非常便于使用并為你處理一切。你只需指定要抓取的網站以及你想要接收什么樣的數(shù)據,其余的交給 。
爬蟲在編寫時考慮到了快速使用。它提供以下主要功能:
如何使用
通過 pip 下載
$ pip install scrapeasy
使用它
考慮到了易用性。首先,從 導入網站和頁面
from scrapeasy import Website, Page
初始化網站
首先,讓我們創(chuàng)建一個新的網站對象。對于這種方式,只需提供主頁的 URL。我將使用我多年前創(chuàng)建的網站的 URL:
web =Website("https://tikocash.com/solange/index.php/2022/04/13/how-do-you-control-irrational-fear-and-overthinking/
")
獲取所有子站點的鏈接
好的,現(xiàn)在我們的網站已經初始化,我們對 上存在的所有子網站感興趣,要找出這一點,請讓 Web 對象接收所有子頁面的鏈接。
links = web.getSubpagesLinks()
根據你的本地互聯(lián)網連接和你正在抓取的網站的服務器速度,此請求可能需要一段時間,確保不要使用這種非常龐大的方法抓取整個網頁。
但回到鏈接獲取:通過調用 .(),用你請求所有子頁面作為鏈接,并將收到一個 URL 列表。
links2 = web.getSubpagesLinks()

你可能已經注意到缺少典型的 -stuff。這是沒有目的的,并且使你的生活更容易進一步使用鏈接。但請確保——當你真正想在瀏覽器中或通過請求調用它們時——請在每個鏈接前面添加 www. 。
查找媒體
讓我們嘗試找到指向 放置在其網站上的所有圖像的鏈接。
我們通過調用 .() 方法來做到這一點。
images = web.getImages()
響應將包括指向所有可用圖像的鏈接。
下載媒體
現(xiàn)在讓我們做一些更高級的事情。我們喜歡 在其網站上的圖片,所以讓我們將它們全部下載到我們的本地磁盤。聽起來工作量是不是很大?其實很簡單!
web.download("img", "fahrschule/images")
首先,我們定義通過關鍵字 img 下載所有圖像媒體。接下來,我們定義輸出文件夾,圖像應保存到的位置。就是這樣!運行代碼,看看發(fā)生了什么。幾秒鐘之內,你就收到了 上的所有圖片。
獲取鏈接
接下來,讓我們找出 鏈接到哪些頁面。為了獲得總體概述,讓我們找出它鏈接到的其他網站用代碼提取網頁視頻,出于這個原因,我們指定只獲取域鏈接。
domains = web.getLinks(intern=False, extern=False, domain=True)
因此,我們得到了在 上鏈接的所有鏈接的列表。
好的,但現(xiàn)在我們想進一步了解這些鏈接,我們如何做到這一點?
獲取鏈接域
好吧,更詳細的鏈接只不過是外部鏈接,所以,我們做了同樣的請求,但這次包括外部,但不包括域。
domains = web.getLinks(intern=False, extern=True, domain=False)
在這里,我們將詳細了解所有外部鏈接。
初始化頁面
好的,到目前為止,我們已經看到了很多關于網站的東西,但是,我們還沒有發(fā)現(xiàn) Page 是做什么的。
好吧,如前所述,該頁面只是網站中的一個站點,讓我們通過初始化頁面,來嘗試不同的示例。
w3 = Page("https://www.w3schools.com/html/html5_video.asp")
如果你還沒有猜到,你很快就會明白為什么我選擇了這個頁面。
下載視頻
是的,你沒聽錯。 可讓你在幾秒鐘內從網頁下載視頻,讓我們來看看如何。
w3.download("video", "w3/videos")
是的,僅此而已。只需指定要將所有視頻媒體下載到輸出文件夾 w3/ 中,就可以開始了。當然,你也可以只收到視頻的鏈接,然后再下載,但這會不太酷。
video_links = w3.getVideos()

下載其他文件類型(如 pdf 或圖片)
現(xiàn)在讓我們更籠統(tǒng)地說,下載特殊文件類型,如 .pdf、.php 或 .ico 怎么樣?使用通用的 .get() 方法接收鏈接用代碼提取網頁視頻,或使用文件類型作為參數(shù)的 .() 方法。
calendar_links = Page("https://tikocash.com").get("php")
到這里就完畢。
現(xiàn)在讓我們下載一些 PDF。
Page("http://mathcourses.ch/mat182.html").download("pdf", "mathcourses/pdf-files")
總之, 是一種通用語言,只需一行代碼即可在幾秒鐘內抓取任何網站上的內容。
因此,這使其成為網絡抓取和數(shù)據挖掘的強大工具。
因此,如果你需要從網站中提取數(shù)據, 是適合你的工具。
-END-