由于出现以下错误,我无法使用bs4从此网页中提取数据
"AttributeError: 'NoneType' object has no attribute 'text'"
有人可以修改我的代码吗?
这是我的代码
from bs4 import BeautifulSoup
import requests
url = 'https://e-masjid.jais.gov.my/index.php/profail?page=1'
html_content = requests.get(url).text
soup = BeautifulSoup(html_content, 'lxml')
masjid_table = soup.find("table", attrs={"class": "Masjid"})
masjid_table_data = masjid_table.tbody.find_all("tr")
headings = []
for td in masjid_table_data[0].find_all("td"):
headings.append(td.b.text.replace('\n', ' ').strip())
print(headings)masjid_table = soup.find("table", attrs={"class": "Masjid"})
masjid_table_data = masjid_table.tbody.find_all("tr")
headings = []
for td in masjid_table_data[0].find_all("td"):
headings.append(td.b.text.replace('\n', ' ').strip())
print(headings)
答案 0 :(得分:0)
尽管我不知道您想要的输出是什么。.这将为您提供所有的假名。
soup = BeautifulSoup(html_content.text, 'lxml')
masjid_table = soup.find("table", attrs={"id": "pemohon"})
masjid_table_data = masjid_table.tbody.find_all("tr")
headings = []
for row in masjid_table_data:
headings.append(row.find_all('td')[1].text.replace('\nMASJID', ' ').strip())
您可以尝试在row.find_all('td')[1]
处更改索引以获取相应的列。
答案 1 :(得分:0)
属性错误表示您正在调用给定对象不存在的属性。
在您的情况下,requests.get(url)
返回无,因此requests.get(url).text
与None.text
相同,这是无效的。
如果期望如此,请检查请求是否返回某些内容:
result = requests.get(url)
if result:
string = requests.get(url).text