在view source頁面保存下來的網頁源碼和保存網頁得到的源碼不同


前言

以前抓網頁都是直接requests+bs4直接剛的,今天想拿一下拉鈎的數據,就繼續按照以下步驟來了:

  • 先找個想爬的網頁,然后寫解析功能
  • 批量爬,然后解析
  • 入庫

探究

結果發現行不通了,用bs4去解析,結果連title都拿不到,而網頁源碼里明明是有的!於是用瀏覽器打開網頁然后view source,在view source頁面點擊存儲為文件,然后用vscode打開保存的網頁,進行對比。發現,tmd內容居然不一樣……好多標簽在保存的網頁中根本看不到。

原因

想一下原因,肯定是js造成的。於是又搜了一下這種現象,得知:

保存源代碼”是對源代碼完整的保存下來,包括上面的圖片鏈接,超鏈接的指向,都完完整整按照原本的樣式保存下來了。並沒有保存圖片或者其他的一些文件。 而另存為的時候由瀏覽器(IE)自動生成一個和保存的網頁文件名 + .files的文件夾,該文件夾中保存了網頁上面所有的圖片及一些外部鏈接CSS、Js腳本,並自動對網頁上的鏈接進行修改,指向以網頁文件名+.files的文件夾,這樣就看其來整個網頁是完整保存下來了。

參考自:http://sky-xin.iteye.com/blog/1960546

原來是瀏覽器的處理過程導致的,view source就是真的只能看到源代碼里,未經瀏覽器處理的代碼…有些非靜態的東西,自然得等加載出來后才能看到…唔


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM