python爬虫框架scrap_python的爬虫框架scrap是什么?怎么用?

小编发觉不管python上是需要什么样子的应用,总归都是需要一个平台框架做搭建的,因此,关于这个框架什么的,内容有很多,一次性告诉大家很多内容,相信大家也不容易消化理解,因此,小编罗列了最常见的框架,以及大家本身经常能遇到的框架作补充,相信可以完善大家的python学习,一起来看下吧~

关于Scrapy 简介

Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。

安装

在linux 和 Mac 系统下,可使用 pip安装。pip install scrapy

Windows上的安装方式conda install -c conda-forge scrapy

Scrapy 基本使用

第一步,创建项目

scrapy 提供了一些命令行工具,可直接生成项目代码。我们可直接使用如下命令来生成项目代码scrapy startproject v6_scrapy

第二步,编写Spider

在sipders目录中,添加我们的爬虫文件toutiao_spider.py,内容如下:# -*- coding:utf-8 -*-

import scrapy

class ToutiaoSpider(scrapy.Spider):

name = 'toutiao'

start_urls = [

'https://toutiao.io/c/ai?page=1',

]

def parse(self, response):

"""

实现html解析

:param response:

:return:

"""

papers = response.xpath('//a[@rel="external"]')

for paper in papers:

title = paper.xpath('./@title').extract()[0]

href = 'https://toutiao.io%s' % paper.xpath('./@href').extract()[0]

print(title, href)

在完成之后,执行如下代码启动爬虫:scrapy crawl toutiao

第三步,定义item

scrapy 使用Item类来结构化数据,以方便对数据的操作。class ToutiaoItem(scrapy.Item):

title = scrapy.Field()

href = scrapy.Field()

第四步,构建 Item pipeline 持久化到文件

我们看下如何将爬取到的数据保存到文件,代码如下:class V6ScrapyFilePipeline(object):

def __init__(self):

self.file = open('toutiao.json', 'wb')

def process_item(self, item, spider):

if item['title']:

line = json.dumps(dict(item))+"\n"

self.file.write(line.encode())

return item

else:

raise DropItem('在[%s]item中,没有title关键字'%item)

以上就是关于我们去安装使用这个框架的全部内容了,另外也大致的给大家讲解使用这个架框去爬取的一些内容,相信大家如果有需要的时候,看下这篇文章内容即可哦~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
为了实现这个目标,我们可以使用Scrapy的内置功能和第三方库来创建一个可视化的爬虫。 首先,我们需要安装一些必要的库: ``` pip install scrapy scrapy-splash scrapyrt scrapyrt[dashboard] scrapyd-client ``` 然后,我们需要创建一个Scrapy项目并生成一些爬虫代码: ``` scrapy startproject myproject cd myproject scrapy genspider myspider myspider.com ``` 接下来,我们需要在middlewares中添加SplashMiddleware,以便使用Splash渲染JavaScript动态页面: ``` # settings.py DOWNLOADER_MIDDLEWARES = { 'scrapy_splash.SplashCookiesMiddleware': 723, 'scrapy_splash.SplashMiddleware': 725, 'scrapy.downloadermiddlewares.httpcompression.HttpCompressionMiddleware': 810, } SPLASH_URL = 'http://localhost:8050/' ``` 然后,我们需要在spider中添加SplashRequest来获取渲染后的页面: ``` # myspider.py from scrapy_splash import SplashRequest class MySpider(scrapy.Spider): name = "myspider" def start_requests(self): yield SplashRequest( url="http://example.com", callback=self.parse, endpoint="render.html", args={"wait": 0.5}, ) def parse(self, response): # Parse the response here ``` 最后,我们可以使用Scrapyrt和scrapyd-client来创建一个可视化的爬虫,让用户可以通过Web界面来控制和监视爬虫的运行。 具体步骤如下: 1. 在scrapyd中部署我们的项目: ``` scrapyd-deploy myproject ``` 2. 安装Scrapyrt和scrapyd-client: ``` pip install scrapyrt scrapyd-client ``` 3. 启动Scrapyrt服务: ``` scrapyrt -p 9080 ``` 4. 创建一个Flask应用程序,使用scrapyd-client调用Scrapyd API来控制和监视爬虫的运行: ``` from flask import Flask, request from scrapyd_api import ScrapydAPI app = Flask(__name__) scrapyd = ScrapydAPI('http://localhost:6800') @app.route('/runspider', methods=['POST']) def runspider(): spider = request.json.get('spider') response = scrapyd.schedule('myproject', 'default', spider) return response if __name__ == '__main__': app.run(port=5000) ``` 5. 创建一个可视化界面,使用户可以通过Web界面来控制和监视爬虫的运行。 这个过程可能有点复杂,但是通过Scrapy和相关库的配合,我们可以快速地创建一个可视化的爬虫
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值