來源:Python爬蟲與資料探勘作者:Python進階者1、前言相信大家在知識共享的這個年代一定在網上下載了很多的檔案儲存以供日後有時間學習吧,畢竟硬碟空間也比較有限,下面我們就來
2021-06-25 10:21:43
來源:Python爬蟲與資料探勘
作者:Python進階者
1、前言
相信大家在知識共享的這個年代一定在網上下載了很多的檔案儲存以供日後有時間學習吧,畢竟硬碟空間也比較有限,下面我們就來說說我們要做的這個項目,就是搜尋盤搜裡的資源然後進行下載。
2、項目目標
實現搜尋自己想要的檔案,並且下載檔案。
3、項目準備
使用sublime text 3 開發。因為此次我們需要用到互動式來完成操作,所以需要在sublime text 3 下載一個sublimeREPL插件來進行輔助開發。
4、項目實現
(1)開啟盤搜,並隨意開啟一個連結,如下圖所示:
(2)然後可以看到這個畫面,如下圖所示。
(3)此時這個網頁地址為:
http://www.pansou.com/?q=成化十四年
由此可以看出它是一個get請求。於是requests.get搞起來,這樣我們就實現了第一步,搜尋。於是,可以這樣寫程式碼:
import requests
def down(content):
content=input('請輸入要下載的檔名')
rep=requests.get('http://www.pansou.com/?q='+str(content))
rep.encoding='utf-8'
(4)這樣就得到了上個頁面中的網頁原始碼,我們通過搜尋相關關鍵字發現竟然搜不到:
(5)那麼這是怎麼回事?原來這是因為ajax非同步載入導致的部分關鍵程式碼顯示不出來。這可就犯難了,換句話說這就觸及到我的知識點盲區了。因為小編並未學過前端,只知道有ajax這回事,哪裡知道這個問題怎麼產生怎麼解決了。不過不用怕,還好小編有一個大絕招,那就是找介面。我找呀找,終於被我找到了,哎,功夫不負苦心人。如圖所示:
(6)發現這是個json格式的所以我們現在可以將他進行讀取,如圖:
(7)不容易啊,json的坑很多,於是決定用字典。哈哈哈哈,果然適合自己的才是最香的。找到了這些東西我們就可以把他們提取出來啦,這樣我們就提取出了第一頁的所有結果,要想提取第二頁的結果只需將p的結果改為2即可。
最終的結果,如圖:
(8)接下來我們強化下程式,讓他具有互動功能,供使用者選擇。
(9)但是我們瞭解到callback一般都是可變的函數,所以真正能用上的就只有兩個參數,q和p,於是:
這樣就完成了指定頁面的檔案瀏覽。
下載的話也比較簡單,直接將連結複製到瀏覽器中即可,這樣就完成了一個最簡單的搜尋引擎了。
5、小結
(1)不建議抓取太多資料,容易對伺服器造成負載,淺嘗輒止即可。
(2)本文基於Python網路爬蟲,利用爬蟲庫,打造了一款簡易的Python搜尋引擎。
(3)實現的時候,總會有各種各樣的問題,切勿眼高手低,勤動手,才可以理解的更加深刻。
相關文章
來源:Python爬蟲與資料探勘作者:Python進階者1、前言相信大家在知識共享的這個年代一定在網上下載了很多的檔案儲存以供日後有時間學習吧,畢竟硬碟空間也比較有限,下面我們就來
2021-06-25 10:21:43
#計算機專業#的話題和爭議一直就不斷,最近程式設計師相關社群又發起了討論:居然勸退的人更多!但是眼尖的我在評論區裡面看到了這樣一條回答。網際網路進入下半場,未來的十年還是
2021-06-25 10:21:24
根據報道,realme將於近期釋出一款新機——realme真我GT大師版,這款手機設計外觀非常有辨識度,居中豎排設計,realme副總裁徐起表示,十分驚豔,毫不誇張的說,迄今為止,顏值巔峰。不過今
2021-06-25 10:21:04
【電動狗】詳細瞭解一下Windows 11七個方面的重點變化:1、介面重新設計簡化介面設計、使用者操作,更加現代化、整潔且美觀。開始選單、工作列都是全新的,每一種聲音、字型、圖
2021-06-25 10:01:38
此前,LG在宣佈退出手機市場時,讓不少人唏噓慨嘆,曾經的行業巨頭也開始退出歷史舞臺。 而在LG宣佈暫停手機業務之前,還在進行新品的研發,其原本計劃將在今年推出搭載高通驍
2021-06-25 10:01:31
最近,Dxomark更新了一批無線音箱測試成績,普遍達到了130分以上,很多無線音箱幾乎無音損,實力強大。而在眾星之中,第一名是寶華韋健(Bowers&Wilkins)的Formation Wedge,音質得分160分
2021-06-25 10:01:17