0
ウェブサイトへのすべての内部リンクと外部リンクを追跡しながら、すべての内部リンクを追跡しようとしています。私はScrapyで作業を始めました。ウェブサイト内のすべての内部リンクを追跡しながら、どのようにクロールできるのか把握できません。ウェブサイトをクロール中に内部リンクに従うことができない
深さ1のリンクを取得するだけですが、リンクは続きません。
class BRS(CrawlSpider):
name = "brs"
rules = (Rule(SgmlLinkExtractor(allow=()), callback='parse_obj', follow=True),)
def __init__(self):
global start_urls
#settings.overrides['DEPTH_LIMIT'] = 10
path = os.path.dirname(os.path.abspath(__file__))
with open(os.path.join(path,"urls.txt"), "rt") as f:
self.start_urls = filter(None,[url.strip() for url in f.readlines()])
start_urls = self.start_urls
def parse(self, response):
brsitem = BrsItem()
brsitem['url'] = response.url
internal = LinkExtractor(allow_domains=[response.url])
external = LinkExtractor(deny_domains=[response.url])
links = internal.extract_links(response)
internal = []
fd = open('output.txt','a+')
for link in links:
internal.append(link.url)
links = external.extract_links(response)
external = []
for link in links:
external.append(link.url)
for link in internal:
fd.write(link+"\tinternal\n")
for link in external:
fd.write(link+"\texternal\n")
return brsitem
私urls.txtは今のよう含まれています http://www.stackoverflow.com
すべてのヘルプは高く評価されています。