2017-12-20 26 views
0

私は怒鳴る与えられたリンクからGoogleのニュースを抽出しようとしている、scrapyに新しいです:どのように治療を使用して特定のキーワードを使用してGoogleニュースを抽出するには?

https://www.google.co.in/search?q=cholera+news&safe=strict&source=lnms&tbm=nws&sa=X&ved=0ahUKEwik0KLV-JfYAhWLpY8KHVpaAL0Q_AUICigB&biw=1863&bih=966 

コレラキーの世界に関連する様々なニュースの小さなブロックを示し、「コレラ」キーワードが提供されましたが、さらに私はこれを試してみてください個々のニュースを内容とする各ブロックを抽出するためのスクラピーを用いる。ニュースの各ブロックの ".ts._JGs._KHs._oGs._KGs._jHs ::テキスト" を表す "のdivクラスを=" TS _JGs _KHs _oGs _KGs _jHs」

fetch("https://www.google.co.in/search?q=cholera+news&safe=strict&source=lnms&tbm=nws&sa=X&ved=0ahUKEwik0KLV-JfYAhWLpY8KHVpaAL0Q_AUICigB&biw=1863&bih=966") 

response.css(".ts._JGs._KHs._oGs._KGs._jHs::text").extract() 

が、それはなし

Googleがデータを表示するためにJavaScriptを使用していますが、それはまた、JavaScriptを使用していないページを送信することができます。scrapy shell

+0

あなたが 'httpsを使用する必要があります:その後、私の意見では、URLとして// news.google.com /'このようなリストインデックスに基づいて使用rther検索ボックスに移動し、検索フォームに入力します。この場合、Cholera –

+0

[RSS](https://news.google.com/news/rss/search/section/q/cholera/cholera)からデータを取得することを検討してください。 – Casper

答えて

0

view(response)を使用して、あなたが何fetch() Webブラウザに表示されます。Noneを返します。しかし、ページJavaScriptには通常difがあります完全なタグとクラス。

ブラウズでJavaScriptをオフにしてからGoogleを開いてタグを表示することもできます。

これを試してみてください:

response.css('#search td ::text').extract() 
0

を、私は非常に単純なトリックで所望のデータを廃棄する方法を見つける苦労した後、

fetch("https://www.google.co.in/search?q=cholera+news&safe=strict&source=lnms&tbm=nws&sa=X&ved=0ahUKEwik0KLV-JfYAhWLpY8KHVpaAL0Q_AUICigB&biw=1863&bih=966") 

とCSSセレクタ「クラス=」G」タグを使用することができますFUすることができ、すべての個々のニュース・ブロックのリストを返すこの

response.css(".g").extract() 

のような所望のブロックを抽出します

response.css(".g").extract()[0] 

または

response.css(".g").extract()[1] 
関連する問題