通过 url 列表从网页获取文本数据
Getting Text data from webpages by list of urls
我正在使用此脚本从网页中提取文本和一些其他信息:
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,我如何使用列表?
第一个问题
你在最后一行有错别字:
# 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...
我正在使用此脚本从网页中提取文本和一些其他信息:
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,我如何使用列表?
第一个问题 你在最后一行有错别字:
# 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...