2017-12-20 1 views
0

내가 울부 짖는 주어진 링크에서 구글 뉴스를 추출하려고 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() 

하지만, 그것은

scrapy shell에서
+0

'https : //로 news.google.com /'그 이후로 내 의견에 URL과 같은 검색 창으로 이동하여 검색 양식을 작성하십시오. 이 경우 Cholera –

+0

[RSS] (https://news.google.com/news/rss/search/section/q/cholera/cholera)를 통해 데이터 가져 오기를 고려하십시오. – Casper

답변

0

view(response) 사용합니다. None을 반환하면 웹 브라우저에서 볼 수있는 무엇을 fetch().

구글은 데이터를 표시하는 자바 스크립트를 사용하지만, 그것은 또한없이 자바 스크립트를 사용하지 않는 페이지입니다. 그러나 페이지를 보낼 수 있습니다 JavaScript에는 보통 dif가 있습니다. ferent 태그와 클래스.

찾아보기에서 자바 스크립트를 사용 중지 한 다음 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 "태그를 사용할 수 있습니다 이와 같이 원하는 블록을 추출하는 것

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

fu 일 수있는 모든 개별 뉴스 블록의리스트 rther이 같은리스트 인덱스를 기초로 사용 :

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

또는

response.css(".g").extract()[1] 
사용한다
관련 문제