目标url:http://www.xiaopian.com/html/...
这个是chrome里显示的源代码
这个是scrapy shell url后用response.css().extract()显示东西
我想知道为何二者不一致?scrapy爬取到的信息并没有对应的thunder链接,而是明面上的ftp链接
学习是最好的投资!
爬蟲看網頁原始碼應該是右鍵>查看網頁原始碼. 而不是在審查元素裡,這裡看到的程式碼都經過了js渲染,和原始程式碼不同了,而透過爬蟲得到的程式碼是沒經過js渲染的,也就是原始碼.我看了下,這個迅雷下載地址是js算出來的具體程式碼如下:
function ThunderEncode(t_url) { var thunderPrefix = "AA"; var thunderPosix = "ZZ"; var thunderTitle = "thunder://"; var thunderUrl = thunderTitle + base64encode(utf16to8(thunderPrefix + t_url + thunderPosix)); return thunderUrl; }
測試了下:把地址ftp://a:a@dygod18.com:21/[电影天堂www.dy2018.com]忍者神龟2破影而出BD中英双字.rmvb 作為參數傳入就得到了迅雷連接,但和網頁上的不太一樣,反編後它是把漢字進行了url編碼,只要編碼統一,就不會有問題了.
ftp://a:a@dygod18.com:21/[电影天堂www.dy2018.com]忍者神龟2破影而出BD中英双字.rmvb
爬蟲看網頁原始碼應該是右鍵>查看網頁原始碼. 而不是在審查元素裡,這裡看到的程式碼都經過了js渲染,和原始程式碼不同了,而透過爬蟲得到的程式碼是沒經過js渲染的,也就是原始碼.
我看了下,這個迅雷下載地址是js算出來的
具體程式碼如下:
測試了下:
把地址
ftp://a:a@dygod18.com:21/[电影天堂www.dy2018.com]忍者神龟2破影而出BD中英双字.rmvb
作為參數傳入就得到了迅雷連接,但和網頁上的不太一樣,反編後它是把漢字進行了url編碼,只要編碼統一,就不會有問題了.