2017-11-09 20 views
0

にHTMLエンティティを解釈し、私は通常、そのようにリンクをキャプチャ:Scrapyがクロール時エキス

response.xpath("//a[contains(@class, something)/@href").extract() 

しかし、その特定のページでは、何らかの理由のために働いていませんでした。正しい出力があるべき

['details?lm==true=1=A43', (...)] 

::私は、アレイで受信していたことは、このようなものだった...

['details?lm=&printerView=true&accessType=1&id=A43', (...)] 

答えて

0

はいつかの後、私はFirefoxの上の同じページには、奇妙なレンダリングされることを発見したマイクロール中のページがコンテンツタイプが「text/xml」でHTMLではないため問題が発生しました。

sel = scrapy.Selector(text=response.body) 
sel.xpath("//a[contains(@class, something)/@href").extract() 

そして今、私は正しい結果を持っている:

私は他のセレクタをした私のコードを修正するには!

['details?lm=&printerView=true&accessType=1&id=A43', (...)] 
関連する問題