0
嘗試通過Google搜索結果進行檢索。此代碼與其他所有網站的效果相當,我嘗試過,但不適用於Google。它返回一個空列表。BeautifulSoup無法抓取谷歌搜索結果?
from BeautifulSoup import BeautifulSoup
import requests
def googlecrawler(search_term):
url="https://www.google.co.in/?gfe_rd=cr&ei=UVSeVZazLozC8gfU3oD4DQ&gws_rd=ssl#q="+search_term
junk_code=requests.get(url)
ok_code=junk_code.text
good_code=BeautifulSoup(ok_code)
best_code=good_code.findAll('h3',{'class':'r'})
print best_code
googlecrawler("healthkart")
它應該返回這樣的東西。
<h3 class="r"><a href="/url? sa=t&rct=j&q=&esrc=s&source=web&cd=6&cad=rja&uact=8&ved=0CEIQFjAF&url=http%3A%2F%2Fwww.coupondunia.in%2Fhealthkart&ei=qFmfVc2fFNO0uASti4PwDQ&usg=AFQjCNFHMzqn-rH4Hp-fZK0E4wwxJmevEg&sig2=QgwxMBdbPndyQTSH10dV2Q" onmousedown="return rwt(this,'','','','6','AFQjCNFHMzqn-rH4Hp-fZK0E4wwxJmevEg','QgwxMBdbPndyQTSH10dV2Q','0CEIQFjAF','','',event)" data-href="http://www.coupondunia.in/healthkart">HealthKart Coupons: July 2015 Coupon Codes</a></h3>
爬行Google違反了他們的服務條款,他們保留將技術障礙落實到位以執行這些條款的權利。因此,我們給你的任何答案都可能以相當短的順序破解,因爲執行它的障礙得到改善。如果您想以編程方式搜索Google,請通過支持的API註冊一個密鑰。 –
哦好吧..只是試圖抓取他們的樂趣..瞭解..謝謝你:) –
@TusharBakaya如果你使用Chrome瀏覽器或Firefox瀏覽頁面源,你應該看到它實際上返回爲Javascript,然後組裝到HTML客戶端。我的猜測是你正在檢查元素,而這會告訴你後JS的結果。 'BeautifulSoup'只抓取了原始的JS源代碼。 –