我已经收集了数据,但很难删除标记和空白,以便每个字符串单词可以迭代,然后作为一对添加到键
我将结果转换为字符串,使用映射函数和连接,然后使用正则表达式删除行空格,结果仍然有一些标签,但不能迭代字符串,因为它现在是字符串,即使我试图从字符串转换回列表。
datetime_end_list = []
datetime = soup.find_all(class_="cloture-line")
for dt in datetime:
df_text = dt.getText()
datetime_end_list.append(df_text)
print(datetime_end_list)
'rn 17/04/202311:00rn ', 'n...nnnnnn', 'rn 28/02/202310:00rn ', 'n...nnnnnn', 'rn 02/02/202311:00rn ', 'n...nnnnnn', 'rn 01/02/202309:00rn ', 'n...nnnnnn', 'rn 30/01/202310:00rn ', 'n...nnnnnn', 'rn 25/01/202312:00rn ', 'n...nnnnnn', 'rn 25/01/202309:00rn ', 'n...nnnnnn', 'rn 24/01/202312:00rn ', 'n...nnnnnn', 'rn 24/01/202311:00rn ', 'n...nnnnnn', 'rn 24/01/202310:00rn ', 'n...nnnnnn'
开始清洁:
datetime_clean = ' '.join(map(str,datetime_end_list))
datetime_clean2 = re.sub(r'^s+', '', datetime_clean, flags=re.MULTILINE)
print(datetime_clean2)
17/04/202311:00
...
28/02/202310:00
...
02/02/202311:00
...
01/02/202309:00
...
30/01/202310:00
...
25/01/202312:00
...
25/01/202309:00
...
24/01/202312:00
...
24/01/202311:00
...
24/01/202310:00
...
如果没有关于被抓取元素的额外信息,很难给出一个确切的答案,但根据您的输入,这应该指向一个方向。
删除空白或新行字符只需使用参数strip=True
和删除...
只需检查它们并只追加,如果它们不在df_text
中:
for dt in datetime:
df_text = dt.getText(strip=True)
if '...' not in df_text:
datetime_end_list.append(df_text)
我可能会选择不同的元素选择,但这需要了解HTML结构。