pythonchallenge闯关——第五弹

关键词
正则表达式 re
python的http库 request

首先查看网页源代码
注释“<urllib may help. DON’T TRY ALL NOTHINGS, since it will never end. 400 times is more than enough.。> ”
提示采用urllib 以及400次的循环

import requests 
import re

def get_str(url):
	respon = requests.get(url)
	if respon.status_code == 200:
		return re.findall(r'\d+',str(respon.content))[0]

url = "http://www.pythonchallenge.com/pc/def/linkedlist.php?nothing="
add = "37278"
count = 0
add = get_str(url+add)
#print(add)
for i in range(400):
	count += 1
	add = get_str(url+add)
	print(f'{count}:{add}',end = ' ')

代码转载自https://www.cnblogs.com/yanshanbei/p/12470787.html
requests的具体使用可以去查具体文档,这里简要讲解一下
首先get获取网页基本信息,respond.status_code网页状态码为200说明网页访问正常。respon.content返回网页文本信息,findall提取数字返回格式为数组,[0]就是提取数组中第一个值,因此当网页中没有数字时就会显示list index out of range错误,提示返回数组为空。

上一篇:代码敲累了?来玩欧式几何


下一篇:[SHOI2006] 有色图