我们获得了一个URL,比方说https://www.123.com/random4digitnumber。 (例如https://www.123.com/1234)使用python,我们必须找到4位数字才能找到正确的URL。我必须使用python 3.7。
我尝试导入Web浏览器并进行循环,以打开每个页面(从0000到9999),但这非常耗时。
编辑:抱歉,我忘了添加一个关键的细节。我已经添加了它。
我的理想输出是正确的URL或正确的URL本身的4位数字。非常感谢。
答案 0 :(得分:0)
我没有正确回答您的问题。请尝试以下解决方案,我认为您需要这种解决方案。
import requests
for i in range(0, 10000):
url = f'https://www.123.com/{"{:04}".format(i)}'
response = requests.get(url, verify=False)
if response.status_code == 200:
print(f'correct url is : {url}')
break
我添加了verify=False
,因为https://www.123.com/网站使用了Self-signed certificate。您将获得404
作为输出,这意味着找不到给定的URL。
答案 1 :(得分:0)
您需要做的就是创建所有链接的列表,然后尝试点击这些链接, 并检查响应状态。如果状态小于400,则它们是有效的。
下面是示例代码
import requests
k=[]
for i in range(0,10):
for j in range(0,10):
for l in range(0,10):
for m in range(0,10):
st ='https://www.123.com/' +str(i)+str(j)+str(l)+str(m)
k.append(st)
res = []
for v,i in enumerate(k):
try:
print(v)
if requests.get(i).status_code<400:
res.append(i)
print('{} is valid link'.format(i))
except:
print('{} is not valid link'.format(i))
pass