【问题标题】:Getting Text data from webpages by list of urls通过 url 列表从网页中获取文本数据
【发布时间】:2023-03-29 21:32:01
【问题描述】:

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

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,我如何使用列表?

【问题讨论】:

    标签: python pandas web-scraping beautifulsoup web-crawler


    【解决方案1】:

    第一个问题 最后一行有错别字:

        # 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...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-27
      • 1970-01-01
      • 2021-10-13
      • 1970-01-01
      • 2011-09-26
      相关资源
      最近更新 更多