17.网络爬虫—Scrapy入门与实战
import scrapy
class MySpider(scrapy.Spider):
name = 'example.com'
allowed_domains = ['example.com']
start_urls = ['http://www.example.com/']
def parse(self, response):
# 提取所有的新闻条目,并为每个条目创建一个新的解析方法的请求
for href in response.css('div.pagination a::attr(href)').getall():
yield response.follow(href, self.parse_item)
def parse_item(self, response):
# 提取新闻详情页的内容
yield {
'title': response.css('div.news-item-title::text').get(),
'description': response.css('div.news-item-description::text').get(),
'link': response.url,
}
这个简单的Scrapy爬虫示例展示了如何定义一个Spider,包括名称、允许爬取的域名、起始URL和解析方法。解析方法parse
会提取分页信息,并为每个页面创建新的请求来获取新闻条目。parse_item
方法则用于提取单个新闻条目的标题、描述和链接,并生成一个包含这些信息的Item。
评论已关闭