html - 尝试提取数据并希望保存在 excel 中,但使用 python beautifulsoup 时出错
问题描述
试图提取但最后一个字段出现错误想要将所有字段保存在 excel 中。
我曾尝试使用 beautifulsoup 提取但未能捕捉到,低于错误
回溯(最近一次通话最后):
文件“C:/Users/acer/AppData/Local/Programs/Python/Python37/agri.py”,第 30 行,在
标本 = soup2.find('h3',class_='触发器
展开').find_next_sibling('div',class_='collapsefaq-content').text
AttributeError:“NoneType”对象没有属性“find_next_sibling”
from bs4 import BeautifulSoup
import requests
page1 = requests.get('http://www.agriculture.gov.au/pests-diseases-weeds/plant#identify-pests-diseases')
soup1 = BeautifulSoup(page1.text,'lxml')
for lis in soup1.find_all('li',class_='flex-item'):
diseases = lis.find('img').next_sibling
print("Diseases: " + diseases)
image_link = lis.find('img')['src']
print("Image_Link:http://www.agriculture.gov.au" + image_link)
links = lis.find('a')['href']
if links.startswith("http://"):
link = links
else:
link = "http://www.agriculture.gov.au" + links
page2 = requests.get(link)
soup2 = BeautifulSoup(page2.text,'lxml')
try:
origin = soup2.find('strong',string='Origin: ').next_sibling
print("Origin: " + origin)
except:
pass
try:
imported = soup2.find('strong',string='Pathways: ').next_sibling
print("Imported: " + imported)
except:
pass
specimens = soup2.find('h3',class_='trigger expanded').find_next_sibling('div',class_='collapsefaq-content').text
print("Specimens: " + specimens)
想提取最后一个字段并使用python将所有字段保存到excel表中,请帮助我。
解决方案
小错字:
data2,append("Image_Link:http://www.agriculture.gov.au" + image_link)
应该:
data2.append("Image_Link:http://www.agriculture.gov.au" + image_link) #period instead of a comma
推荐阅读
- python - 以python中的原始顺序读取文件夹中的文件
- google-app-engine - 在 GCP yaml 文件中是否可以包含凭据而不是 GOOGLE_APPLICATION_CREDENTIALS 链接 json 文件?
- c# - 提取字符串中特定数字的最佳方法是什么?
- python - 使用 python 请求访问 Google Chrome 网络标签
- sql - 如何从多个用户 ID 中获取 30 个最新结果
- amazon-dynamodb - 更新表达式无效:两个文档路径相互重叠 Appsync
- java - 有没有办法在 Java 中将 Else 与 Catch 结合起来?
- reactjs - SWR,围绕 useSWR 钩子创建一个包装器以显示加载状态
- installation - 如何重新定位 Inno Setup 的卸载程序?
- neovim - Nvim lsp - 更改 lspconfig 诊断消息位置