【问题标题】:Extract multiple types of text from a column in html从html中的列中提取多种类型的文本
【发布时间】:2014-08-28 09:05:18
【问题描述】:

我是 Python 新手,我正在尝试从 html 页面中提取数据。表格的某一列是文本和 URL 的混合。我想从该列中提取所有信息,保持链接完整地保存到 csv 文件(稍后我将保存为 Excel 文件)。请建议我。这是我仅提取文本的代码。

trs = soup.find_all('tr')
for tr in trs:
    tds = tr.find_all("td")
    try:
        RS_id = str(tds[5].get_text().encode('utf-8'))

该列的一些单元格有多个 URL,我希望它们保持不变。

【问题讨论】:

    标签: python html url csv extract


    【解决方案1】:

    该列中的数据是如何写入的?如果 URL 与其他文本的分隔方式有明确的模式,则可以使用 string.split('character') 命令。

    假设您关心的数据列的所有条目都被“,”字符分开,那么您会说:

    column_data=RS_id.split(',')
    

    这将为您提供该列中列出的所有内容的列表,每次有逗号字符时将其拆分。然后,您只需索引列表以获取您所追求的 URL。如果没有特定的顺序来索引列表,您可能需要执行以下操作:

    URL_list=[]
    for item in column_data:
        if 'http' in item: URL_list.append(item)
    

    编辑: 看看 beautifulsoup 是如何解析表格的:http://www.crummy.com/software/BeautifulSoup/bs3/documentation.html

    文本应该有一个 .href 属性,即超链接链接到的 URL。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-08-14
      • 2019-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-08
      • 1970-01-01
      相关资源
      最近更新 更多