亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

僅使用美麗的湯從谷歌抓取 src 屬性

僅使用美麗的湯從谷歌抓取 src 屬性

叮當貓咪 2023-12-12 14:43:29
我正在嘗試抓取谷歌圖像。雖然 beautiful soup 提取“src”,但它輸出鏈接 data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== ,這不是實際圖像。腳本標記看起來經過大量編碼,并且不包含實際的 URI。有人能給我建議一個解決方案嗎?實際上,這是縮小的數據 URI,解碼后會生成 1x1 圖像。我的問題是谷歌如何縮小完整的數據 URI 以及我們如何訪問完整的 URI 以便我們可以獲得實際的圖像?
查看完整描述

3 回答

?
largeQ

TA貢獻2039條經驗 獲得超8個贊

這就是 Base64 編碼的圖像。您可以將其保存到圖像文件中,例如:


src = "BASE64 DATA"

img = open("MyImage.gif","wb+")

img.write(src.decode('base64'))

img.close()


查看完整回答
反對 回復 2023-12-12
?
胡說叔叔

TA貢獻1804條經驗 獲得超8個贊

這是數據 URL,請參考https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs

您可以解碼 Base64 字符串,然后保存到圖像文件。


查看完整回答
反對 回復 2023-12-12
?
偶然的你

TA貢獻1841條經驗 獲得超3個贊

Google 圖片是從(幸運的是)內聯 JavaScript 插入到 DOM 中的。打開任何查詢的搜索結果的頁面源,復制圖像src屬性,然后在頁面源中找到它。

要僅提取它bs4,您可以模仿瀏覽器并使用正則表達式從內聯 JavaScript 中提取數據。

https://img1.sycdn.imooc.com/6578013b000182cd18900139.jpg

或者,您可以使用 SerpApi 提取完整圖像的 URI。這是一款可免費試用的付費 SaaS。


示例用法與curl.


curl -s 'https://serpapi.com/search?q=coffee&tbm=isch'

Repl.itgoogle-search-results上 Python 包的使用示例。


from serpapi import GoogleSearch

import os


params = {

? ? "engine": "google",

? ? "q": "coffee",

? ? "tbm": "isch",

? ? "api_key": os.getenv("API_KEY")

}


client = GoogleSearch(params)

data = client.get_dict()


print("Images results")


for result in data['images_results']:

? ? print(f"""

Position: {result['position']}

Original image: {result['original']}

""")

輸出示例


Images results


Position: 1

Original image: https://upload.wikimedia.org/wikipedia/commons/4/45/A_small_cup_of_coffee.JPG



Position: 2

Original image: https://media3.s-nbcnews.com/j/newscms/2019_33/2203981/171026-better-coffee-boost-se-329p_67dfb6820f7d3898b5486975903c2e51.fit-1240w.jpg



查看完整回答
反對 回復 2023-12-12
  • 3 回答
  • 0 關注
  • 278 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號