使用 Scrapy 框架爬取自己的简书文章
2018-11-20 本文已影响0人
捡个七
先爬取自己的简书页面来试下手。简单地获取个人简书页面的文章和链接。
创建项目
scrapy startproject jianshu
创建爬虫
cd jianshu // 需要 cd 两次,有两个 jianshu 目录
cd jianshu
scrapy genspider jianshu_spider www.jianshu.com
编写爬虫
- 先启动 chrome 的开发者模式,找到自己需要的元素
- 执行
scrapy shell "https://www.jianshu.com/u/96d116310516"
,爬取自己简书首页数据,输入对应的提取数据的代码,查看提取的数据是否正确:
- 确认是自己想要提取的内容后,在创建的
jianshu_spider.py
里补充代码:
# -*- coding: utf-8 -*-
import scrapy
class JianshuSpiderSpider(scrapy.Spider):
name = 'jianshu_spider'
allowed_domains = ['www.jianshu.com']
start_urls = ['https://www.jianshu.com/u/96d116310516']
def parse(self, response):
for item in response.css('.note-list li'):
# 文章标题
#print(item.css('div a::text').extract()[0])
# 文章链接
short_url = item.css('div a::attr(href)').extract()[0]
# 文章完整 url
full_url = response.urljoin(short_url)
#print(full_url)
yield {
'title': item.css('div a::text').extract()[0],
'url':full_url,
}
执行爬虫
在命令行窗口输入 scrapy crawl jianshu_spider
,得到的结果如下: