属性错误和HTTP错误404试图从网站上抓取图像

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了属性错误和HTTP错误404试图从网站上抓取图像相关的知识,希望对你有一定的参考价值。

我正在尝试从网站列表中获取所有图像。但是我得到他以下错误消息:

1)AttributeError:

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-52-d786eb50d187> in <module>
     14     html = urlopen(link)
     15     bs = bs4(html, 'html.parser')
---> 16     images = bs4.find_all('img', {})
     17 
     18     for image in images:

/anaconda3/lib/python3.7/site-packages/bs4/element.py in find_all(self, name, attrs, recursive, text, limit, **kwargs)
   1698         :rtype: bs4.element.ResultSet
   1699         """
-> 1700         generator = self.descendants
   1701         if not recursive:
   1702             generator = self.children

AttributeError: 'str' object has no attribute 'descendants'

2)HTTP 404

HTTPError: HTTP Error 404: Not Found

您知道它们是什么,我如何解决它们?

我正在使用的代码如下:

from bs4 import BeautifulSoup as bs4

images=[]

list_1=["file_1.csv"]

df = pd.read_csv("path"+list_1)

for link in df["Col"]:
    html = urlopen(link)
    bs = bs4(html, 'html.parser')
    images = bs4.find_all('img', {})

    for image in images: 
            images.append(image['src'])

谢谢

答案

您可以尝试

from bs4 import BeautifulSoup as bs4

images=[]

list_1=["file_1.csv"]

df = pd.read_csv("path")

for link in list_1:
    html = urlopen(link0])
    bs = bs4(html, 'html.parser')
    images = bs4.find_all('img')

    for image in images: 
            images.append(image['src'])

您收到的错误是您用{}查找的find_all方法的第一个错误,该错误为空,并且404错误归因于urlopen方法找不到您提供的链接。

以上是关于属性错误和HTTP错误404试图从网站上抓取图像的主要内容,如果未能解决你的问题,请参考以下文章

有的网页打不开是怎么回事 404错误

SEO优化中404错误页面的设置和HTTP状态码说明

404错误页面会给网站造成什么影响?

404 HTTP 错误,尽管能够在浏览器中看到页面

在IIS上抛出异常的WCF托管(没有权限和HTTP错误404.3 - 未找到)

网站服务器经常性出现404错误了怎么办?