要让Python Scrapy从网页中提取所有外部链接的所有域,可以使用以下步骤:
import scrapy
from scrapy.linkextractors import LinkExtractor
from urllib.parse import urlparse
class MySpider(scrapy.Spider):
name = 'my_spider'
start_urls = ['http://example.com']
allowed_domains = ['example.com']
def parse(self, response):
# 提取所有外部链接
link_extractor = LinkExtractor(allow_domains=self.allowed_domains, unique=True)
links = link_extractor.extract_links(response)
# 提取链接的域名
domains = set()
for link in links:
parsed_url = urlparse(link.url)
domain = parsed_url.netloc
domains.add(domain)
# 打印所有域名
for domain in domains:
print(domain)
scrapy crawl my_spider
这样,Scrapy Spider会从指定的start_urls开始爬取网页,并提取所有外部链接的域名。通过解析链接的URL,可以获取域名,并将其存储在一个集合中。最后,可以根据需求对这些域名进行进一步处理或存储。
推荐的腾讯云相关产品:腾讯云服务器(CVM)和腾讯云对象存储(COS)。
领取专属 10元无门槛券
手把手带您无忧上云