Python 爬虫学习 —— Scrapy 入门知识学习

这一节的内容属于 Hello World。

Scrapy 是专门用于爬虫的 Python 框架。
官方网站:https://scrapy.org/
可以在官方网站的页面上找到文档的地址:https://docs.scrapy.org/en/latest/

pip -h

这里写图片描述

指定安装 scrapy 的版本:

pip install scrapy=1.1.0rc3

在我的电脑上,Scrapy 是通过 conda 命令安装的,所以首先要进入 conda 对应的环境 ipykernel_py3,下面是操作步骤:
1、conda info -e
2、source activate ipykernel_py3
3、scrapy startproject douban

这里写图片描述

可以看到,scrapy startproject douban 这条命令为我们创建了一个文件夹,名字为 douban。

下面我们再使用 PyCharm 软件打开这个项目。

这里写图片描述

然后,我们在 douban/spiders 这个文件夹下,新建一个 douban.py 文件,编写代码如下:

这里写图片描述

from scrapy.contrib.spiders import CrawlSpider


class Douban(CrawlSpider):
    name = "douban"
    start_urls = ["https://movie.douban.com/top250"]

    def parse(self, response):
        print(response.body[:500])
        print(response.url)

注意:
1、name = “douban” ,决定了后面将要指定的代码 scrapy crawl douban
2、spiders 这个文件夹的路径是:/Users/liwei/scrapy_douban/douban/douban/spiders(这个路径是我的电脑上的路径,大家意会即可)

此时,我们打开 iTerm2,走到 douban (不能再进到 douban 文件夹下),执行下面的命令:

scrapy crawl douban

这里写图片描述
(中间省略了一部分)
这里写图片描述

返回的状态码是 403 ,说明我们的网页爬取没有成功。
这是因为豆瓣这个网站监测到我们的爬虫程序的请求头中的 user-agent 是 Python 的 scrapy 爬虫。
解决的办法很简单,就是把 user-agent 改成和浏览器一致的值就可以了。

修改 USER_AGENT

修改 USER_AGENT 应该打开 settings.py 文件,在最后面添加:

USER_AGENT = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_3) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.54 Safari/536.5'

此时,再执行 scrapy crawl douban 命令,就可以看到有正确的网页数据返回了。

这里写图片描述

使用 Scrapy 提供的 cmdline 运行程序

如果我们每执行一次爬虫,就要在 iTerm2 中写一遍 scrapy crawl douban,这样的方式效率不高。
因此 Scrapy 为我们提供了一个 cmdline ,这样我们就可以通过运行 Python 代码来运行 scrapy crawl douban

代码编码如下:

这里写图片描述

from scrapy import cmdline

cmdline.execute("scrapy crawl douban".split())

这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值