0

Google の画像検索結果の HTML を解析して、画像の元のリンクを取得しようとしていました。

これまでのところ、Python の Mechanize と BeautifulSoup を使用して、Google の検索の HTML を取得する Python コードを作成することに成功しました。

Google の検索結果の HTML ソースを見ると、Google が元の画像の URL の二重エンコードを class の div に保存していることがわかりましたrg_metaが、Mechanize から受け取った HTML にはそのようなクラスは含まれていません。実際、新しい Web ページ全体が Mechanize を介して返されています。

Google の画像検索 API は知っていますが、この方法で HTML を解析する必要があります。私は何を間違っていますか?Mechanize を Chrome または別のブラウザーとしてマスクできますか?

これは私が試していたことのスニペットです。それは何も返していません:

import urllib
import mechanize
from bs4 import BeautifulSoup
from urlparse import urlparse

search = "cars"
browser = mechanize.Browser()
browser.set_proxies({"https": "10.0.2.88:3128"})
browser.set_handle_robots(False)
browser.addheaders = [('User-agent','Mozilla')]

html = browser.open("https://www.google.co.in/search?&source=lnms&tbm=isch&sa=X&q="+search+"&oq="+search)
htmltext=html.read()
print htmltext    
img_urls = []
formatted_images = []
soup = BeautifulSoup(htmltext)
#results = soup.findAll("a")
results = soup.findAll("div", { "class" : "rg_meta" })
print results
4

3 に答える 3