通过网址列表从网页获取文本数据

我正在使用以下脚本从网页中提取文本和其他信息:

r = requests.get('https://www.horizont.net/marketing/nachrichten/anzeige.-digitalisierung-wie-software-die-kreativitaet-steigert-178413')
c = r.content
soup = BeautifulSoup(c,'html.parser')
print(soup.prettify())

然后定义我需要的东西:

all = soup.select('.PageArticle')
title = []
author = []
publish_date = []
article_main_content = []
article_body = []
for item in all:
    t = item.find_all('h1')[0].text
    title.append(t)
    a = item.find_all('span')[2].text
    author.append(a)
    p = item.find_all('span')[5].text
    publish_date.append(p)
    amc = item.select('.PageArticle_lead-content')[0].text
    article_main_content.append(amc)
    a_body = item.select('.PageArticle_body')[0].text
    article_body.append(article_body)

像这样将它们放入df中:

df = pd.DataFrame({"Title":title,"Author": author,"Publish_date": publish_date,"Article_Main_Content": article_main_content,"Article_Body": article_body })

我遇到两个问题:

第一个问题:当我尝试从包含约500-800个字的文章中获取内容时。我正在获取空字符串。.有任何限制问题吗?

这是我的输出:

通过网址列表从网页获取文本数据

有什么办法解决这个问题?

第二个问题:

我有要执行相同过程的URL列表,并希望将所有信息存储在同一df中。如果这些数据的URL是URL,我如何使用列表?

yndf345678 回答:通过网址列表从网页获取文本数据

第一个问题 您在最后一行输入错字了:

    # Change this article_body.append(article_body)
    article_body.append(a_body)

第二个问题 遍历列表。

for url in url_list:
   # Your code
   r = requests.get(url)
   c = r.content
   soup = BeautifulSoup(c,'html.parser')
   print(soup.prettify())
   # The rest of your code...
本文链接:https://www.f2er.com/3117930.html

大家都在问