下面是我的代码
import pandas as pd
import requests
from bs4 import BeautifulSoup
source = requests.get('https://www.vanglaini.org/').text
soup = BeautifulSoup(source, 'lxml')
for article in soup.find_all('article'):
headline = article.a.text
summary=article.p.text
link = "https://www.vanglaini.org" +article.a['href']
#print(headline)
#print(summary)
#print(link)
#print()
news_csv = pd.DataFrame({'Headline': headline,
'Summary': summary,
'Link' : link,
})
print(news_csv)
我遇到了这个错误 标题=文章a.文本 AttributeError:“NoneType”对象没有属性“text”
救命啊!你知道吗
正如你已经在我的评论和@AmiTavory(deleted)答案中看到的一样-不是所有的文章都有链接,有时
article.a
会给出None
,所以你有None.text
会给出错误。你知道吗必须检查
article.a
是否与None
相似而且很有效。你知道吗
编辑:您可以得到错误
因为完全不同的原因,你应该在新的页面上创建新的问题。你知道吗
这在
DataFrame
中是个问题,因为在headline
、summary
、link
中只有最后一个值,但DataFrame
中需要列表应该在
for
-loop之前创建空列表在
for
-循环中,您应该将append()
值添加到列表中然后使用列表创建
DataFrame
完整代码:
相关问题 更多 >
编程相关推荐