2017-09-09 9 views
0

Google画像検索のソースコードを取得したいと考えています。Google Search by Image Script for Local Imagesで、https://www.google.com/searchbyimage?&image_url= + image linkという作品があります。私は、Pythonを使用していますが、これは私が試したものです:私たちはthisview-source:を追加する場合、Chromeのソースコードからかなり異なっているBeautifulSoupのHtmlがブラウザのソースコード(Python3.5)と異なる

from bs4 import BeautifulSoup 
import requests 
browser = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.7) Gecko/2009021910 Firefox/3.0.7' 
headers={'User-Agent':browser,} 
url = ("https://www.google.com/searchbyimage?&image_url="+"http://mlm-s1-p.mlstatic.com/635657-MLM25528207389_042017-O.jpg") 
page = requests.get(url, headers= headers) 
soup = BeautifulSoup(page.text, "html.parser") 

pretty = soup.prettify() 
print(pretty) 

あなたが知りたいのであれば、スクリプトの目的は、Googleのイメージの推測を文字列として見つけることです。私の例ではlemmy kilmister funko popとなりますが、美しいスープのhtml。

編集:ライブラリとbeautifulsoup /要求を含めるのを忘れました

+0

それはjavascriptを使用して作成することができます。それを動作させるには、乾燥したスクレープまたはセレンを使用する必要があります。 –

答えて

0

これはすべてあなたのコードですか?スープオブジェクトを作成したり、ページをリクエストしたりしないために明確になります。

あなたがこれを行ったと仮定すると、hereを追加したリンクから回答者は、ブラウザヘッダー(これは奇妙な状態です)でのみ機能すると言います。私はあなたのコードをあなたのヘッダーを使ってカールさせて走らせました。そして、私はフロントページにリダイレクトされました。なぜあなたはあなたの文字列を見つけることができませんでした。しかし、私の現在のFirefoxのヘッダでそれを実行する

User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:54.0) Gecko/20100101 Firefox/54.0 

私は正しいページを得ることができました。この状態のためにコードが後で途切れないように注意してください。私はヘッダーをわずかに編集してテストしましたが、いくつかの変更(バージョン53.0がうまくいきました。

curlコマンドところで

curl "https://www.google.com/searchbyimage?&image_url=mlm-s1-p.mlstatic.com/635657-MLM25528207389_042017-O.jpg" -L -v -o file.html -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:54.0) Gecko/20100101 Firefox/54.0" 
関連する問題