Python urllib模块:遍历URL
问题描述:
我试图从页面的html文本中获取最后5个字符,并使用它们替换URL中的最后5个字符,然后重试。我需要重复几次。Python urllib模块:遍历URL
这就是我想出的。目前,它连续打印5次相同的URL。
import urllib.request
prevurl = "http://www.pythonchallenge.com/pc/def/linkedlist.php?nothing=12345"
for i in range(1,5):
with urllib.request.urlopen(prevurl) as url:
s = url.read()
prevurl.replace('[-5:]', 's[-5:]')
print(prevurl)
答
我不明白为什么是负面的。我可以用一些建设性的批评来代替。鼓励学习的好方法。
无论如何,我想我想通了。它需要一些额外的步骤,但按我想要的方式工作。
import urllib.request
prevurl = "http://www.pythonchallenge.com/pc/def/linkedlist.php?nothing=12345"
for i in range(1,400):
with urllib.request.urlopen(prevurl) as url:
s = url.read().decode("utf-8")
n1 = []
u1 = []
for i in s:
if i.isdigit():
n1.append(i)
n2 = ''.join(n1)
for i in prevurl:
if i.isdigit():
u1.append(i)
u2 = ''.join(u1)
if len(n2) != len(u2):
prevurl = prevurl.replace(prevurl[-(len(u2)):], n2)
else:
prevurl = prevurl.replace(prevurl[-(len(n2)):],n2)
print(prevurl)
嗯...看看你要替换有什么......你不应该有任何引号字符有 –
似乎删除引号使得语法无效 – tklein
试试这个'prevurl = prevurl.replace( prevurl [: - 5],s [-5:])' – Himal