我的目标是自动谷歌反向图像搜索。你知道吗
我想上传一个图像网址,并获得所有的网站链接,包括匹配的图像。你知道吗
以下是我目前能做的:
import requests
import bs4
# Let's take a picture of Chicago
chicago = 'https://images.squarespace-cdn.com/content/v1/556e10f5e4b02ae09b8ce47d/1531155504475-KYOOS7EEGVDGMMUQQNX3/ke17ZwdGBToddI8pDm48kCf3-plT4th5YDY7kKLGSZN7gQa3H78H3Y0txjaiv_0fDoOvxcdMmMKkDsyUqMSsMWxHk725yiiHCCLfrh8O1z4YTzHvnKhyp6Da-NYroOW3ZGjoBKy3azqku80C789l0h8vX1l9k24HMAg-S2AFienIXE1YmmWqgE2PN2vVFAwNPldIHIfeNh3oAGoMooVv2g/Chi+edit-24.jpg'
# And let's take google image search uploader by url
googleimage = 'https://www.google.com/searchbyimage?&image_url='
# Here is our Chicago image url uploaded into google image search
url = googleimage+chicago
# And now let's request our Chichago google image search
response = requests.get(url)
soup = bs4.BeautifulSoup(response.text,'html.parser')
# Here is the output
print(soup.prettify())
我的问题是我没有预料到这个print(soup.prettify())
输出。
因为太长了,所以我没有把输出包括在帖子里。你知道吗
如果在浏览器中键入:
https://www.google.com/searchbyimage?&image_url=https://images.squarespace-cdn.com/content/v1/556e10f5e4b02ae09b8ce47d/1531155504475-KYOOS7EEGVDGMMUQQNX3/ke17ZwdGBToddI8pDm48kCf3-plT4th5YDY7kKLGSZN7gQa3H78H3Y0txjaiv_0fDoOvxcdMmMKkDsyUqMSsMWxHk725yiiHCCLfrh8O1z4YTzHvnKhyp6Da-NYroOW3ZGjoBKy3azqku80C789l0h8vX1l9k24HMAg-S2AFienIXE1YmmWqgE2PN2vVFAwNPldIHIfeNh3oAGoMooVv2g/Chi+edit-24.jpg
您将看到html代码与soup
的输出有很大的不同。你知道吗
我希望soup
代码有最终的结果,这样我就可以解析我需要的链接了。相反,我只得到了一些奇怪的功能,我真的不明白。你知道吗
谷歌图片搜索似乎是一个三步走的过程:首先你上传你的图片,然后发生一些奇怪的功能,然后你得到你的最终结果。你知道吗
如何才能像在浏览器中一样获得最终结果?所以我可以像往常一样解析html代码。你知道吗
让我给你解释一下。你知道吗
使用
print(response.history)
和print(response.url
所以如果是
200
,那么您将得到一个url,比如https://www.google.com/search?tbs=sbi:
但是如果是
302
,那么您将得到一个url,比如hhttps://www.google.com/webhp?tbs=sbi:
因为
302
这意味着谷歌检测到你是一个BOT
,因此它被webhp = Web Hidden Path
拒绝了,它将请求转换为机器人检测,并由谷歌方面进一步分析。你知道吗您可以确认,如果您按下链接Click Here,并检查浏览器
bar
上将显示什么。你知道吗使用以下方法。你知道吗
相关问题 更多 >
编程相关推荐