Python使用Scrapy框架爬虫,面试官必问的技术问题之一
import scrapy
class MySpider(scrapy.Spider):
name = 'my_spider'
allowed_domains = ['example.com']
start_urls = ['http://example.com/']
def parse(self, response):
# 提取链接并进一步爬取详情页
for href in response.css('a::attr(href)').getall():
if 'details' in href:
yield response.follow(href, self.parse_details)
def parse_details(self, response):
# 提取详情页的数据
item = {
'title': response.css('h1::text').get(),
'description': response.css('p::text').get(),
}
yield item
这个简单的Scrapy爬虫示例展示了如何定义一个Spider,包括名称、允许爬取的域名、起始URL和解析方法。parse
方法用于提取起始页面的链接,并根据链接跟踪详情页的爬取,parse_details
方法用于解析详情页并提取数据。这个例子是Scrapy爬虫教学中的基础,展示了如何使用Scrapy框架进行网页爬取。
评论已关闭