2017-05-03 12 views
-1
next_page = response.css('body > div.bg-theme-b.page-results.page-listing-results.page-results-responsive.ui-page.ui-page-theme-a.ui-page-header-fixed.ui-page-active > div.ui-panel-wrapper > div > div:nth-child(10) > div > ul > li.ui-block-b > a').extract_first() 

    if next_page is not None: 
     next_page = response.urljoin(next_page) 
     yield scrapy.Request(next_page, callback=self.parse) 

私はm.zoopla.co.uk(携帯電話からデータをスクレイプするのにはより良いように思われるため)から住宅価格のデータを掻き取ろうとしています。私は、次のページのリンク上でhref属性を取得するための治療を受けることができません。データは最初のページから壊れています。問題はありません。(Scrapy)htmlからhrefを抽出できません

ここで示されているように、最も長く直接的なCSSセレクタを使用しました。これはうまくいきません。私は短いセレクタで試してみました:response.css('li.ui-block-b > a::attr(href)').extract_first()そしてそれでも、Noneとして返します。

また、XPathを使用してみました。そこには葉巻もありません。助けてください。誰か。誰でも..

PS。エラーがなく、実際のデータスクレイピングが正常に機能するため、次のページのコードのみが含まれています。

+1

あなたはスクレーピングしているurl' '正確に入力してください – JkShaw

答えて

0

のみ次のページのリンクが属性data-icon="carat-r"を持っているとして、あなたは、単に、hrefを取得し、属性data-icon="carat-r"を持っていると<a>要素を選択することができます。

next_page = response.css('a[data-icon*=carat-r]::attr(href)').extract_first() 

出力:

2017-05-03 13:27:53 [quotes] DEBUG: next_page is /house-prices/browse/coalville/?pn=2 
関連する問題