我想知道你是否可以帮我解决这个简单的请求。我确实搜索了一个现有的解决方案,但我无法弄清楚,因为我不是专家。 我需要提取用户名和密码。我将有一个带有 URL 的 txt 文件。 我想要一个 python 脚本来读取文件,解析每个 URL 并在新的文本文件中提取
username:password
。网址可以是.org
、.net
、.com
等
http://URL:8080/get.php?username=C59VGdbeJn&password=rNWotM0B6Z&type=list
http://URL:80/get.php?username=D7mPSv9mK6&password=wboR54rDft&type=list
http://URL:80/get.php?username=K8TpaFNvSD&password=3DYIRewM07&type=list
http://URL:8443/get.php?username=KR2gCmAHkq&password=sbhfT2D0B2&type=list
http://URL:80/get.php?username=LA5f3EpWVy&password=oegihMj2mV&type=list
http://URL:80/get.php?username=NHzr2qHgzyDP&password=I9nRDgT5ZK&type=list
文本文件输出将包含:
C59VGdbeJn:rNWotM0B6Z
D7mPSv9mK6:wboR54rDft
K8TpaFNvSD:DYIRewM07
KR2gCmAHkq:sbhfT2D0B2
LA5f3EpWVy:oegihMj2mV
NHzr2qHgzyDP:I9nRDgT5ZK
谢谢大家。
祝你有美好的一天!
我确实搜索了一个现有的解决方案,但我无法弄清楚,因为我不是专家。
假设您在
input_file.txt
文件中有 URL:
http://URL:8080/get.php?username=C59VGdbeJn&password=rNWotM0B6Z&type=list
http://URL:80/get.php?username=D7mPSv9mK6&password=wboR54rDft&type=list
http://URL:80/get.php?username=K8TpaFNvSD&password=3DYIRewM07&type=list
http://URL:8443/get.php?username=KR2gCmAHkq&password=sbhfT2D0B2&type=list
http://URL:80/get.php?username=LA5f3EpWVy&password=oegihMj2mV&type=list
http://URL:80/get.php?username=NHzr2qHgzyDP&password=I9nRDgT5ZK&type=list
你可以试试这个:
import re
output_list = []
with open('input_file.txt') as f:
for url in f.readlines():
data = re.search(r'username=(.+)&password=(.+)&', url)
output_list.append(f"{data.group(1)}:{data.group(2)}\n")
with open('output_file.txt', 'w') as f:
f.writelines(output_list)
您将获得
output_file.txt
文件:
C59VGdbeJn:rNWotM0B6Z
D7mPSv9mK6:wboR54rDft
K8TpaFNvSD:3DYIRewM07
KR2gCmAHkq:sbhfT2D0B2
LA5f3EpWVy:oegihMj2mV
NHzr2qHgzyDP:I9nRDgT5ZK
希望这能解决您的问题。
如果对您有帮助,请标记为解决方案:
import re
# Input and output file paths
input_file = "urls.txt"
output_file = "usernames_passwords.txt"
# Regular expression to match username and password
regex = r"username=([^&]*)&password=([^&]*)"
# Open input and output files
with open(input_file, "r") as f_in, open(output_file, "w") as f_out:
# Loop over each line in the input file
for line in f_in:
# Extract the username and password using regex
match = re.search(regex, line)
if match:
username = match.group(1)
password = match.group(2)
# Write the username:password to the output file
f_out.write(f"{username}:{password}\n")
您可以使用Python内置的
username
模块从URL字符串中提取password
和urlparse
。
这是一个示例代码片段,它读取
content.txt
文件并从每一行中提取username
和password
:
from urllib.parse import urlparse, parse_qs
output_file = 'output_file.txt'
with open('content.txt') as f, open(output_file, 'w') as outfile:
for line in f:
url = urlparse(line.strip())
params = parse_qs(url.query)
username = params['username'][0]
password = params['password'][0]
outfile.write(f"{username}:{password}\n")
鉴于您的输入,假设它存储为位于“/path/to/inputfile”的文件
你想要一个位于“/path/to/outputfile”的文件来包含你想要的输出。
你可以使用这个:
from pathlib import Path
Path('/path/to/outputfile').write_text(
'\n'.join(f'{a}:{b}'
for a, b in re.findall(
r'username=(\w+)&password=(\w+)&',
Path('/path/to/inputfile').read_text()
)
)
)
使用
re.findall
会一次找到所有匹配项,从而避免不必要地重复调用re.search
。