爬虫---095scrapy_当当网数据爬取
以下是一个使用Scrapy框架爬取当当网图书数据的示例代码。请确保您已安装Scrapy,并且对当当网的网页布局有足够了解以编写正确的选择器。
import scrapy
class DangdangSpider(scrapy.Spider):
name = 'dangdang'
allowed_domains = ['dangdang.com']
start_urls = ['http://category.dangdang.com/pg1-cid40040-mid-1.html']
def parse(self, response):
for product in response.css('ul.bigimg li.product'):
item = {
'name': product.css('div.name a::text').extract_first(),
'price': product.css('div.price span.price_n::text').extract_first(),
'rating': product.css('div.star span::text').extract_first(),
'url': product.css('div.name a::attr(href)').extract_first(),
}
yield item
# 爬取下一页数据
next_page = response.css('div.paging a.next::attr(href)').extract_first
if next_page:
yield response.follow(next_page, self.parse)
这段代码定义了一个名为dangdang
的爬虫,它将从当当网的一个图书分类页面开始爬取产品信息。爬虫会抓取每个产品的名称、价格、评分和URL,并通过yield
返回一个包含这些信息的item。如果存在下一页,爬虫还会生成一个跟进下一页的请求。
请注意,由于网站策略或技术变化,实际使用时可能需要调整选择器。此外,爬取数据时应遵守网站的robots.txt
规则,并尊重版权及隐私政策。
评论已关闭