banner
NEWS LETTER

Scrapy的入门

Scroll down

编写第一个Scrapy爬虫

【项目】 爬取http://books.toscrae.com中的书籍信息

  • 创建项目
  • 分析页面
  • 实现spider
  • 运行爬虫(爬取结果保存到csv文件中)

1.创建项目:

scrapy startproject first_example

2.分析页面

  • 使用Chrome开发者工具浏览页面
  • 在scrapy shell中进行提取数据的实验
    使用scrapy shell 命令进入交互式命令行

3.实现Spider

  1. 继承scrapy.Spider创建Spider类

  2. 通过name属性为Spider命名

  3. 通过start_urls设置起始爬取点

  4. 实现页面解析函数parse

    可以使用scrapy genspider books books.toscrape.com(域) 命令生成books.py文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class BooksSpider(scrapy.Spider):
name = 'books'
allowed_domains = ['books.toscrape.com']
start_urls = ['http://books.toscrape.com/']

def parse(self, response):
# 1.提取数据
for sel in response.css('article.product_pod'):
name = sel.xpath('./h3/a/@title').extract_first()
price = sel.css('p.price_color::text').extract_first()
rating = sel.css('p.star-rating').re_first('star-rating (\w+)')
book = {'name':name,
'price':price,
'rating':rating,}
yield book
# 2.提取链接,产生新的请求
url = response.css('ul.pager li.next a::attr(href)').extract_first()
if url:
url = response.urljoin(url)
request = scrapy.Request(url,self.parse)
yield request

4.运行爬虫

scrapy crawl books -o books.csv
其他文章
目录导航 置顶
  1. 1. 编写第一个Scrapy爬虫
请输入关键词进行搜索