目标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编码,只要编码统一,就不会有问题了.