gpt4 book ai didi

python - 正则表达式 : (or not) Looking to print only data after the header

转载 作者:行者123 更新时间:2023-11-28 18:31:13 25 4
gpt4 key购买 nike

一些作业帮助将不胜感激。

使用套接字,我需要解析来自网站的数据(http://www.py4inf.com/code/romeo.txt)。

我正在使用正则表达式“^\s*$”来定位标题之后和数据之上的第一个空行。

关于如何只提取数据(而不打印标题)的任何提示?

import socket
import re

mysock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

try:
userUrl = raw_input('Enter a url: ')

d = userUrl.split('/')
d.remove("")

host = d[1]

mysock.connect((host, 80))
mysock.send('GET %s HTTP/1.0\n\n'%(userUrl))


while True:
data = mysock.recv(3000)
if len(data) < 1: break
print (''.join([x for x in re.findall(**'^\s*$'**,data,re.DOTALL)]))


except Exception as e:
print (str(e))

最佳答案

我假设因为这是一个家庭作业问题,你必须使用 socket 并且不能使用更用户友好的东西,比如 requests .

我会先循环直到你在字符串中得到完整的响应,然后像这样迭代它:

...
response = ""
while True:
data = mysock.recv(3000)
if len(data) < 1: break
response += data

iterator = iter(response.split("\n"))

for line in iterator:
if not line.strip(): # empty line
break

body = "\n".join(iterator) # put the rest of the data in a string

关于python - 正则表达式 : (or not) Looking to print only data after the header,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37110587/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com