scrapy框架简介和基础使用
2024-08-23 03:15:19
概念
为了爬取网站数据而编写的一款应用框架,出名,强大。所谓的框架其实就是一个集成了相应的功能且具有很强通用性的项目模板。(高性能的异步下载,解析,持久化……)
安装
- linux mac os:pip install scrapy
- win:
- pip install wheel
- 下载twisted:https://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted
pip install 下载好的框架.whl
3.pip install pywin32
4.pip install scrapy
基础使用流程
- 创建一个工程:scrapy startproject 工程名称
- 目录结构:
- 在工程目录下创建一个爬虫文件:
- cd 工程
- scrapy genspider 爬虫文件的名称 起始url
- 对应的文件中编写爬虫程序来完成爬虫的相关操作
- 配置文件的编写(settings)
#USER_AGENT = 'redisPro (+http://www.yourdomain.com)'伪装UA
USER_AGENT = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36' # Obey robots.txt rules
ROBOTSTXT_OBEY = False # 取消robots协议 - 执行 scrapy crawl 爬虫文件名称
示例
# -*- coding: utf-8 -*-
import scrapy class FirstSpider(scrapy.Spider):
# 爬虫文件的名称:通过爬虫文件的名称可以指定定位到某一个爬虫文件
name = 'first'
#允许的域名:只能爬取指定域名下的页面数据
allowed_domains = ['www.qiushibaike.com']
#起始url:当前工程将要爬取的页面所对应的url
start_urls = ['http://www.qiushibaike.com/'] # 解析方法:对获取的页面数据进行指定内容的解析
# response:根据起始url列表发起请求,请求成功后返回的响应对象
# 返回值:必须为迭代器或者为空
def parse(self, response):
print(response) # 获取响应对象的页面数据
first.py
# Crawl responsibly by identifying yourself (and your website) on the user-agent
USER_AGENT = 'firstblood (+http://www.yourdomain.com)' # 伪装UA #指定终端输出指定种类的日志信息
LOG_LEVEL = 'ERROR'
LOG_FILE = 'log.txt' # 存储在指定文件中,不再在终端输出 # Obey robots.txt rules
ROBOTSTXT_OBEY = False # 不遵从robots协议
配置文件中添加或修改设置如下
最新文章
- NOT IN 和NOT EXISTS
- angular2系列教程(五)Structural directives、再谈组件生命周期
- PV 与 并发数 之间的故事
- python 多线程就这么简单(转)
- 在学Go语言
- jQuery入门级part.1
- [GeekBand] STL与泛型编程(1)
- SDUT 3258 Square Number 简单数学
- CentOS7 systemctl的使用
- stl非变易算法(二)
- 2、变量var关键字
- 解决MyEclipse吃内存以及卡死的方法 (转)
- [Codeforces Round #516][Codeforces 1063C/1064E. Dwarves, Hats and Extrasensory Abilities]
- mysql创建新的用户及flush privileges解析
- Python练习题
- Linux 下压缩与解压.zip和.rar
- 在WIN10打造成能运行Oracle的JDK的Linux
- diamond的设计思路
- (转载)ibatis:解决sql注入问题
- c++ String去除头尾空格