回覆列表
-
1 # 運維架構師之路
-
2 # 追逐Python
爬取網站的內容不管爬啥。肯定得找到需要爬取內容的位置。如果是圖片的話。首先得找到圖片的地址。把連結複製下來開啟是你想要的圖片的話。直接請求那個地址。寫入檔案就行。用二進位制加字尾就能儲存圖片了。圖片音樂和影片都是一樣的。
-
3 # 程式設計師小助手
試著理一下思路。
一般,使用requests發起請求,將目標網頁請求過來。當然有可能經過了代理,跳轉,認證,對requests都不是問題。接著說BS4爬取圖片。
BeautifulSoup4是將html看做一棵樹,對其進行結構解析,定位節點,尋找值。這個是建立在完整的html結構體系內。其使用lxml,html5lib等庫用作解析引擎。
類似的,仿照jQuery,有大神製作了PyQuery,使用jq的語法操作DOM。
下面說一下,集中情況,如何獲取網頁內容:
靜態頁面。直接使用BS4就是。
動態頁面,如PHP/Java等使用模板引擎生成的網頁。結構一般也較為清晰。可以看做是靜態頁面。
重js頁面。這樣的頁面一般由前端完成,網頁極不易獲取,動態變化較大。可能需要其他工具模仿請求,比如selenium。這時候可能用不到requests/bs4。例如必應中文首頁背景圖。
前端渲染的頁面。如
vue.js
,react.js
腳手架搭建的網頁,不可能用題主所使用的兩個工具拿到資料。phantomjs可以用於此場景。當然,如果使用實際的chrome driver,使用selenium請求資料,也完全沒問題。上面5條,都是在說網頁應用。網頁在不同的瀏覽器,PC的谷歌,火狐,Opera,IE等,手機端的瀏覽器,均可使用此方法。
下面說一下,抓取APP端應用的資料。兩類平臺,一個Android,一個IOS。因為IOS的封閉性,操作起來極為不便。以安卓為例,因為同樣的功能,安卓端大致相同,且安卓手機普及率較高,較為容易獲得。且開放性,定製性較好。Python的話,需要使用不同的庫,解析Android頁面,比如poco。就不展開說了。
以上。
目標網站網址呢?網址發出來我看一下
每個網站的HTML結構不一樣,解析程式碼就不一樣,要針對不同的網站編寫不同的程式碼
編寫爬蟲程式碼前還要評估目標網站是否需要登入,資料是否有加密等諸多問題