Scrapy框架基础

cmd操作指令

commandsmeaning
benchRun quick benchmark test
fetchFetch a URL using the Scrapy downloader
genspiderGenerate new spider using pre-defined templates
runspiderRun a self-contained spider (without creating a project)
settingsGet settings values
shellInteractive scraping console
startprojectCreate new project
versionPrint Scrapy version
viewOpen URL in browser, as seen by Scrapy
fetch:
scrapy fetch http://baidu.com -nolog
#不显示爬取日志,,直接显示爬取结果
runspider:

spider.py:

from scrapy.spiders import Spider
class FirstSpider(Spider):
    #设置爬虫名字
    name = "first"
    #控制允许爬取的域名
    allowed_domains = ["baiud.com"]
    
    #起始域名
    start_urls = ["http://www.baidu.com",]
    
    #回调方法--运行后调用该方法
    def parse(self,response):   #response为爬取后的响应
        pass

scrapy runspider spider.py
shell(不启动scrapy爬虫的情况下测试网站):

scrapy shell http://www.baiud.com

startproject:

scrapy startproject 爬虫项目名

version:

scrapy version

view(下载并用浏览器查看网页):

scrapy view http://www.baiud.com

bench(测试本地硬件性能):

创建一个本地服务器,测试最大爬取网页速度
scrapy bentch
这里写图片描述

genspider:

scrapy genspider -l #展示爬虫模板
这里写图片描述
这里写图片描述

My_First.py:

#-*-coding: utf-8-*-
import scrapy
class MyFirstSpider(scrapy.Spider):
    name = 'My First'
    allowed domains = ['baidu.com']
    start-urls = ['http://baidu.com/']
    
    def parse(self, response):
        pass
check(测试爬虫):

scrapy check 爬虫名

crawl(运行爬虫):

scrapy crawl 爬虫名 控制参数(--nolog等)

list(展示当前可以使用的爬虫文件):

scrapy list

parse(获取指定url并进行相应处理及分析):

scrapy parse http://www.baidu.com

项目结构

这里写图片描述
middlewares.py 为中间件

Xpath表达式

通过标签()提取信息→更适用于爬虫

/ : 选择标签

text():定位标签内容 例:
html/a/b/text()

<html>
<a>
<b>abc</b>
</a>
</html>
结果:abc

@定位标签属性:标签[@属性=属性值]

//定位所有标签://li@[class='hidden-xs']/a/@href

<li class=''hidden-xs>
<a href="www.baidu,com"></a>
</li>

结果:www.baidu.com

搭建项目步骤

1.
scrapy startproject 项目名
2.
scrapy genspider -t 模板类型 爬虫名 目标域名
3.
进入item.py设置爬取结果容器
容器名 = scrapy.Field()
4.
进入爬虫ming.py
5.
from 项目名.items import item类名
6.
进入parse方法
实例化item类:item = item类名() --------等号左边item名字自取
爬虫操作
7.
进入settings.py 设置ITEM_PIPELINES
8.
进入pipelines.py设置爬取信息处理动作
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值