私は現在スパイダーに取り組んでいます。しかし、リンクをたどるにはSpider()関数を複数回呼び出すことができる必要があります。これが私のコードです:
import httplib, sys, re
def spider(target, link):
try:
conn = httplib.HTTPConnection(target)
conn.request("GET", "/")
r2 = conn.getresponse()
data = r2.read().split('\n')
for x in data[:]:
if link in x:
a=''.join(re.findall("href=([^ >]+)",x))
a=a.translate(None, '''"'"''')
if a:
return a
except:
exit(0)
print spider("www.yahoo.com", "http://www.yahoo.com")
しかし、出力から 1 つのリンクしか取得できません。これをすべてのリンクにするにはどうすればよいですか?
また、スパイダーがリンクをたどることができるように、リンクからサブサイトを取得するにはどうすればよいですか?