从htm中的列中提取多种类型的文本

2024-10-04 07:39:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我是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,我希望它们保持不变。你知道吗


Tags: 文件数据文本信息url链接html页面
1条回答
网友
1楼 · 发布于 2024-10-04 07:39:33

那一栏的数据是怎么写的?如果有一个明确的模式,说明URL是如何被其他文本分隔的,那么您可以使用字符串。拆分('character')命令。你知道吗

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

column_data=RS_id.split(',')

这将为您提供列中列出的所有内容的列表,每次有逗号字符时将其拆分。然后你只需索引列表就可以得到你想要的网址。如果没有索引列表的特定顺序,您可能需要执行以下操作:

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

编辑: 查看beautifulsou如何解析表:http://www.crummy.com/software/BeautifulSoup/bs3/documentation.html

文本应该有一个.href属性,即超链接指向的URL。你知道吗

相关问题 更多 >