私は大学ではこの練習をしなければなりません。基本的には、関数findurls(urls、s、k)を作成する必要があります。urlsはURLのリストで、sは文字列、nは文字列がURLを返すために必要な時間です。たとえば、私のリストに "Python"という文字列が少なくとも2回含まれているURLがある場合、関数は2回以上出現する文字列 "Python"を持つリストのURLのみを返します。私はこのコードを書いた:URLを読んで文字列を含むウェブサイトのURLをn回返す
def findurl(urls,s,k):
count = 0
for url in urls:
f = ul.urlopen(url)
r = f.read()
if s in url:
count += 1
if count <= k:
return url
残念ながら、それは、単一のURLを返しますが、私は、少なくとも2回起こる私のリスト上の少なくとも4つのURLは文字列「のPython」を持っていることを確実に知ります。どのように私はこれを修正するのですか?
編集:
デフfindurl(URLを、S、K):
...: for url in urls:
...: f = ul.urlopen(url)
...: r = f.read()
...: for s in url:
...: count = url.count(s)
...: if count >= k:
...: return url
...:
...:
、今ではやや...働く私はこのように、あなたの提案に私のコードの感謝を修正しました。多くの 'Python'文字列を持つhttp://www.python.org/は返されません。私はテキストにURLを変換する必要があります、それらをエンコードする?
ヒント 'string.count(substring)'は、部分文字列が文字列に何回あるかを示します。 – Reti43