我正在尝试从allrecipes.com上刮取食谱信息,并将其保存在运行MySQL的数据库中。
我首先尝试通过使用bs4进行抓取来获取信息,在某些情况下它起作用了,而在另一些情况下却没有,即使我在脚本中未进行任何更改。我一直得到这些
recipe_serving = soup.find('span',class_='recipe-ingredients__header__toggles').meta['content']
AttributeError: 'NoneType' object has no attribute 'meta'
绝对没有意义的消息,因为此span标记肯定有一个'meta'属性,它绝对不是NoneType对象。 因此,我只是不断地运行脚本,不更改脚本中的任何内容,直到脚本开始按我的意图神奇地工作并获得所需的信息。
但是当我添加其他抓取功能以获取一些其他信息(链接到配方的主图片)时,我又开始再次收到此“元”错误消息,偶尔还会收到另一条错误消息,内容为:
img_link = soup.find('div', class_='hero-photo__wrap').a.img['src']
AttributeError: 'NoneType' object has no attribute 'a'
这又没有意义,所以我一直运行脚本,直到最终获得我要检索的信息。
现在,我要抓取第三个详细信息,然后一次运行它们,直到我最终使用第三个抓取功能获得所需的详细信息时,都发生了相同的事情,并且遇到了数十条错误消息,读取“ NoneType没有'name_of_tag'属性”,但是它会不时地切换它,我得到这个'meta'大约是6次,然后我从另一个函数中得到了'div'一个,然后是'a'一个,并且我反复运行相同的脚本大约30分钟,但仍然没有得到我想要的结果(信息必须写入我的数据库),因为我一直打这些无意义的错误消息,这对我没有任何意义
这是我的代码的副本: https://repl.it/@HillaShx/scrapingintodb
谢谢!