| 企服解答
磁力搜索的原理是爬蟲。磁力鏈接中含有一個BT種子的唯一身份標識,通過這個標識可以在DHT網絡中搜索到擁有這個種子資源的其他peer。Python 爬蟲架構主要由五個部分組成,分別是調度器、URL管理器、網頁下載器、網頁解析器、應用程序(爬取的有價值數據)。
磁力搜索是爬蟲嗎
1、調度器
相當于一臺電腦的CPU,主要負責調度URL管理器、下載器、解析器之間的協調工作。
2、URL管理器
包括待爬取的URL地址和已爬取的URL地址,防止重復抓取URL和循環抓取URL,實現URL管理器主要用三種方式,通過內存、數據庫、緩存數據庫來實現。
3、網頁下載器
通過傳入一個URL地址來下載網頁,將網頁轉換成一個字符串,網頁下載器有urllib2(Python官方基礎模塊)包括需要登錄、代理、和cookie,requests(第三方包)
4、網頁解析器
將一個網頁字符串進行解析,可以按照我們的要求來提取出我們有用的信息,也可以根據DOM樹的解析方式來解析。網頁解析器有正則表達式(直觀,將網頁轉成字符串通過模糊匹配的方式來提取有價值的信息,當文檔比較復雜的時候,該方法提取數據的時候就會非常的困難)、html.parser(Python自帶的)、beautifulsoup(第三方插件,可以使用Python自帶的html.parser進行解析,也可以使用lxml進行解析,相對于其他幾種來說要強大一些)、lxml(第三方插件,可以解析 xml 和 HTML),html.parser 和 beautifulsoup 以及 lxml 都是以 DOM 樹的方式進行解析的。
5、應用程序
就是從網頁中提取的有用數據組成的一個應用。
| 拓展閱讀
可以將爬蟲總結為4個步驟:獲取網頁、提取信息、保存數據、自動化程序。
1、獲取網頁
爬蟲首先要做的工作就是獲取網頁,也就是獲取網頁的源代碼,源代碼包含了網頁的部分有用信息,所以只要把源代碼獲取下來,就可以從中提取想要的信息。
根據請求和響應的概念,向網站的服務器發送一個請求,返回的響應體便是網頁源代碼,因此最關鍵的部分就是構造一個請求并發送給服務器,然后接受到響應并將其解析出來。
2、提取信息
獲取網頁源代碼后,接下來就是分析網頁源代碼,從中提取我們想要的數據,通用的萬能法是采用正則表達式提取,缺點是比較復雜和容易出錯。另外,由于網頁結構有一定規則,python還有一些根據網頁節點屬性、CSS選擇器或XPath來提取網頁信息的庫,如Beautiful Soup 、pyquery、lxml等。使用這些庫,我們可以高效快速地從中提取網頁信息,如節點屬性、文本值等。提取信息是爬蟲中非常重要的部分,它可以從雜亂的數據中獲取有效的信息,方便我們后續對數據的處理和分析。
3、保存數據
提取信息后,我們一般會將提取到的數據保存到某處以便后續使用,保存形式多種多樣,簡單的處理可以保存為TXT或JSON文本。也可以保存到數據庫,如MySQL和MongoDB等。或者保存至遠程服務器。
4、自動化程序
簡單來說,就是爬蟲可以在抓取過程中進行各種異常處理、錯誤重試等操作,持續高效的自動化完成獲取網頁、信息提取、保存數據的工作。
[免責聲明]
文章標題: 磁力搜索是爬蟲嗎
文章內容為網站編輯整理發布,僅供學習與參考,不代表本網站贊同其觀點和對其真實性負責。如涉及作品內容、版權和其它問題,請及時溝通。發送郵件至36dianping@36kr.com,我們會在3個工作日內處理。