Scrapy 教程(四)-命令

scrapy 没有界面,需要命令行来操作。

 

非常简单,总共也就十四五个命令,分为全局命令和项目命令。

 

全局命令

在哪都能用

 

常用命令

scrapy startproject name    创建项目/工程
scrapy genspider taobao taobao.com    创建爬虫

不太常用

查看爬虫配置/参数  
scrapy settings --get  DOWNLOAD_DELAY    下载延迟
scrapy settings --get  BOT_NAME    爬虫名字
## 在项目运行时,输出项目设定值,否则输出 scrapy 的默认值,所以他既是全局命令,也是项目命令 启动爬虫 scrapy runspider scrapy_cn.py 执行爬虫脚本 scrapy crawl spider [这个也是启动爬虫,是项目命令,需要创建工程] 下载源码
# 看看有没有异步之类的 scrapy fetch https://hao.360.com/?llqxqd scrapy fetch https://hao.360.com/?llqxqd >E:/3.html 下载并保存源码(WINDOWS) scrapy view https://hao.360.com/?llqxqd 下载并直接用浏览器打开 shell 工具 scrapy shell https://hao.360.com/?llqxqd 版本查看 scrapy version

scrapy bench 用于 benchmark 测试,测试 scrapy 在硬件上的效率。

 

项目命令

在项目目录才能用

scrapy crawl  spider         启动爬虫(需要进入app目录)  
scrapy check                   检测爬虫
scrapy list                       显示有多少爬虫(以name为准)

 

 

命令行参数

为了增强scrapy的灵活性,在命令行中可以设置参数,这使得构建好的爬虫能够执行不同的任务。

 

实例代码

def start_requests(self):
        url = 'http://lab.scrapyd.cn/'
        tag = getattr(self, 'tag', None)  # 获取tag值,也就是爬取时传过来的参数
        if tag is not None:          # 判断是否存在tag,若存在,重新构造url
            url = url + 'tag/' + tag     # 构造url若tag=爱情,url= "http://lab.scrapyd.cn/tag/爱情"
        yield scrapy.Request(url, self.parse)  

 

命令行参数设置

scrapy crawl argsSpider -a tag=爱情

 

还有很多其他参数,不太常用,具体请百度。

转载于:https://www.cnblogs.com/yanshw/p/10851220.html

Scrapy-Playwright是一个用于Scrapy框架的插件,它允许您使用Playwright库来爬取JavaScript动态渲染的网站。下面是使用Scrapy-Playwright进行Web Scraping的简单教程: 1. 安装Scrapy-Playwright 您可以使用pip命令来安装Scrapy-Playwright。在命令提示符或终端中运行以下命令: ``` pip install scrapy-playwright ``` 2. 配置Scrapy-Playwright 要使用Scrapy-Playwright,您需要在Scrapy项目的settings.py文件中进行配置。添加以下行: ``` DOWNLOADER_MIDDLEWARES = { 'scrapy_playwright.PlaywrightMiddleware': 543, } PLAYWRIGHT_LAUNCH_OPTIONS = { 'headless': True, } ``` 这将启用Playwright中间件,并将Playwright设置为在无头模式下运行。 3. 创建Spider 创建一个新的Spider并导入PlaywrightRequest和PlaywrightResponse类。这些类类似于Scrapy的Request和Response类,但它们使用Playwright库来处理JavaScript渲染。 ``` from scrapy_playwright import PlaywrightRequest, PlaywrightResponse from scrapy.spiders import Spider class MySpider(Spider): name = 'myspider' start_urls = ['https://www.example.com'] def start_requests(self): for url in self.start_urls: yield PlaywrightRequest(url) def parse(self, response: PlaywrightResponse): # 处理响应 ``` 4. 处理响应 在parse方法中,您可以像处理Scrapy Response对象一样处理PlaywrightResponse对象。但是,PlaywrightResponse对象包含了一个page属性,它是由Playwright库返回的Page对象,您可以使用它来处理JavaScript渲染的内容。 ``` def parse(self, response: PlaywrightResponse): # 获取HTML和JavaScript渲染的内容 html = response.text js_rendered_html = response.page.content() ``` 5. 运行Spider 最后,您可以像运行任何其他Scrapy Spider一样运行您的Spider。 ``` scrapy crawl myspider ``` 希望这个简单的教程能够帮助您开始使用Scrapy-Playwright进行Web Scraping。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值