如何解决get_attribute('src') 不再获取 url
我编写了一个脚本,用于使用 selenium webdriver 在谷歌图片上抓取图片。 webdriver 浏览图像并获取 url。但是,今天当我运行脚本时,它没有获得任何图像的 url。
java.lang.reflect
它为每个图像返回“错误”。它工作正常,我不知道是什么原因造成的。此外,在导航时,webdriver 有时会停止。没有错误或任何东西,它只是停止。
解决方法
我认为首先要检查的是抛出了什么异常,因为异常可能出现在其他地方,例如在文件保存期间。
尝试添加:
try:
...
except Exception as e:
print("Error with exception: ",e)
这将为您提供有关出现问题的信息。
第二个问题是你的搜索方法,尽量避免类似的搜索("//*[@id="islrg"]/div[1]/div[{}]/a[1]/div[1 ]/img") 并搜索更具体的模式。
最后要指出的是您正在使用的工具。正如您所描述的,您只需要从页面获取图像。这项任务可以通过 Web 抓取 库(例如 BeatifulSoup)而不是像 Selenium 那样使用汽车来高效地完成。
作为您的问题的示例,我编写了一个小脚本,可以使用 bs4 在一秒钟内从页面中抓取所有图像:
import requests # to download HTML file
from bs4 import BeautifulSoup as bs # to parse data
a = requests.get("some URL") # download html
soup = bs(a.text) # feed it to BeautifulSoup
all_imgs = soup.find_all("img") # extract all images
img_urls = []
for img in all_imgs: # iterate over all images
img_urls.append(img.get("src")) # append to list img "scr" attribute value
注意:
当使用这种方法下载纯 HTML 时,有时它可能与您在浏览器中打开相同 URL 时看到的不同,因此在创建此类 scraper 时尝试:
with open("test.html","w") as f:
f.write(page.text)
然后在浏览器中检查此文件以找到获取所需信息的方法。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。