如何使用循环在每个日期和时间下制作换行符,例如' 08-29'和' 10:15',以便将结果与部分相互分开。
import requests
from bs4 import BeautifulSoup
headers = {
'User-Agent': "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/22.0.1207.1 Safari/537.1"}
all_url = 'https://www.smm.cn/'
start_html = requests.get(all_url,
headers=headers)
Soup = BeautifulSoup(start_html.text, 'lxml')
alltd = Soup.find('div', class_='box-body').find_all('tbody')
for td in alltd:
title = td.get_text()
j = title.split()
for b in j:
print(b)
答案 0 :(得分:1)
我没有完全明白您的意思,但如果您想在显示的每个日期之后打印一行,您可以使用此代码:
import re
import requests
from bs4 import BeautifulSoup
headers = {
'User-Agent': "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/22.0.1207.1 Safari/537.1"}
all_url = 'https://www.smm.cn/'
start_html = requests.get(all_url,
headers=headers)
Soup = BeautifulSoup(start_html.text, 'lxml')
alltd = Soup.find('div', class_='box-body').find_all('tbody')
for td in alltd:
title = td.get_text()
j = title.split()
for b in j:
if re.match(r'^\d{2}(-\d{1,2})', b):
print(b)
print('\n')
else:
print(b)
如果您需要在每个日期之后以及每次之后打印一行,则可以将if re.match(r'^\d{2}(-\d{1,2})', b):
替换为re.match(r'^\d{2}(-\d{1,2})', b) or re.match(r'^\d{1,2}(:\d{1,2})', b)
:
如果我的回答没有完全帮助您,可能这些链接可以提供帮助:
Using python regular expression to match times
Basic tutorials for python regular expression
祝你好运我的朋友!