2016-09-06 5 views
0
私は、次のコードを使用してGoogleのニュースをこすりしようとしています

スクレイピングのGoogleニュースは、空の結果を返します

from bs4 import BeautifulSoup 
import requests 
import time 
from random import randint 


def scrape_news_summaries(s): 
    time.sleep(randint(0, 2)) # relax and don't let google be angry 
    r = requests.get("http://www.google.co.uk/search?q="+s+"&tbm=nws") 
    content = r.text 
    news_summaries = [] 
    soup = BeautifulSoup(content, "html.parser") 
    st_divs = soup.findAll("div", {"class": "st"}) 
    for st_div in st_divs: 
     news_summaries.append(st_div.text) 
    return news_summaries 


l = scrape_news_summaries("T-Notes") 
#l = scrape_news_summaries("""T-Notes""") 
for n in l: 
    print(n) 

そうでない理由を前に働いていたコードのこのビットは、私が今把握することはできませんにもかかわらず、もう働いている。私はコードが3回か4回しか実行されていないので、Googleによって禁止されている可能性はありますか? (私はBing Newsを使用してみましたが、残念な空の結果もありました...)

ありがとうございました。

答えて

2

私はコードを実行しようとしたが、それは自分のコンピュータ上で正常に動作します。

あなたは要求のステータスコードを印刷してみてください、それはあなたが禁止されている兆候だステータスコードのリストについては、200

from bs4 import BeautifulSoup 
import requests 
import time 
from random import randint 


def scrape_news_summaries(s): 
    time.sleep(randint(0, 2)) # relax and don't let google be angry 
    r = requests.get("http://www.google.co.uk/search?q="+s+"&tbm=nws") 
    print(r.status_code) # Print the status code 
    content = r.text 
    news_summaries = [] 
    soup = BeautifulSoup(content, "html.parser") 
    st_divs = soup.findAll("div", {"class": "st"}) 
    for st_div in st_divs: 
     news_summaries.append(st_div.text) 
    return news_summaries 


l = scrape_news_summaries("T-Notes") 
#l = scrape_news_summaries("""T-Notes""") 
for n in l: 
    print(n) 

https://www.scrapehero.com/how-to-prevent-getting-blacklisted-while-scraping/以外だ場合は見ることができました。

+0

ありがとうございました。それは今、私のコンピュータ上で再び実行されます。私はしばらく禁止されていたと思う。ありがとう、私はさらなる問題を避けるために200以外の回答をキャッチします... – ylnor

+0

( "T-Notes" OR "Notes")AND( "Albania" OR "Romania" )? – amc

関連する問題