百度首页爬虫
Scrapy 是用 Python 实现的一个为了爬取网站数据、提取结构性数据而编写的应用框架。 Scrapy常应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。 通常我们可以很简单的通过Scrapy 框架实现一个爬虫,抓取指定网站的内容或图片。
环境
PyCharm Python3.7.9
- 安装Scrapy框架
pip install scarpy
- 直接在cmd中敲入scrapy,返回信息说明安装成功
C:\Users\zzk10>scrapy
Scrapy 2.4.1 - no active project Usage: scrapy [options] [args] Available commands: bench Run quick benchmark test commands fetch Fetch a URL using the Scrapy downloader genspider Generate new spider using pre-defined templates runspider Run a self-contained spider (without creating a project)
- 使用 startproject 命令,快速构建scrapy项目
C:\Users\zzk10>scrapy startproject SpiderDem
- 进入SpiderDemo,使用genspider命令快速生成爬虫程序
C:\Users\zzk10>cd SpiderDemo
C:\Users\zzk10\SpiderDemo>scrapy genspider example example.com
Created spider ‘example’ using template ‘basic’ in module: SpiderDemo.spiders.example
- Pycharm可以看到,spiders目录下会生成一个新的文件.
- 将内容换为
import scrapy
class ExampleSpider(scrapy.Spider):
# 爬虫启动的时候,需要指定的name
name = 'baiduSpider'
# 允许请求的域名
allowed_domains = ['baidu.com']
# 第一个请求的url
start_urls = ['https://www.baidu.com']
# response默认的解析函数
def parse(self, response):
print(response.text)
- 启动爬虫
C:\Users\zzk10\SpiderDemo>scrapy crawl baiduSpider
-
发现没有数据 。将settings.py文件中的
ROBOTSTXT_OBEY = True改为False。
-
重新启动爬虫
C:\Users\zzk10\SpiderDemo>scrapy crawl baiduSpider
返回数据