python 把数据写到tet_Crawlab准备之python+scrapy环境搭建

2023-11-19

上篇《分布式爬虫管理平台Crawlab开发搭建》把爬虫的管理后台搭建起来了;捣鼓一番发现要真正爬取数据还有下不少的功夫。这篇看看怎么搭建python+scrapy环境。

0x01:安装Python3

  • 下载python安装包,具体版本根据自己的系统要求https://www.python.org/downloads/windows/
  • 下载安装完成后直接cmd输入python,可正常查看版本

注:安装过程中请注意一定要请勾选pip安装并加入到环境变量中,否则后续无法正常安装第三方类库。

0x02:安装爬虫所需的一些常用类库

  • 安装 selenimu 自动化web包,cmd进入任意目录,执行

pip install selenium

  • 安装 pymysql 连接mysql包,cmd进入任意目录,执行。方便以后把爬取的数据插入数据库pip install pymysql
  • 安装 pillow 图片处理包pip install pillow

备注:pillow官网

https://pillow.readthedocs.io/en/latest/installation.html

  • 安装 pypiwin32 操作底层dll包pip install pypiwin32
  • 安装 requests 发送web请求包pip install requests
  • 安装 scrapy 爬虫框架包pip install scrapy

备注:安装爬虫框架必须依赖的第三方类库Twisted,在使用pip安装时会出现下载文件失败而无法安装问题,可以先下载Twisted安装文件。然后使用pip install安装Twisted。

pip install 下载Twisted文件绝对路径

下载地址如下(下载与Python版本匹配的whl文件):

https://www.lfd.uci.edu/~gohlke/pythonlibs/

  • 安装解析网页内容包pip install bs4

0x03:验证scrapy 是否安装成功

进入cmd,输入 scrapy 查看scrapy是否安装成功

0x04:创建爬虫项目

  • 创建项目,只需一行命令即可创建名为 tutorial 的Scrapy项目:

scrapy startproject tutorial

tutorial项目的目录结构大概如下:

  • 创建爬虫的模板文件进入 ./tutorial/tutorial 执行:scrapy genspider QuoteSpider "http://www.baidu.com"

QuoteSpider是文件名,http://www.baidu.com是要爬取的域名, ./tutorial/tutorial/spiders 目录下生成一个QuoteSpider.py文件。文件内容如下:

修改一下QuoteSpider.py文件:

import scrapyclass QuotespiderSpider(scrapy.Spider):    name = 'QuoteSpider'    # 允许爬取的域名    # allowed_domains = ['landchina.mnr.gov.cn']    start_urls = ['http://landchina.mnr.gov.cn/scjy/tdzr/index_1.htm']    def parse(self, response): # resonse相当于从网络中返回内容所存储的或对应的对象        fname = response.url.split('/')[-1] # 定义文件名字,把response中的内容写到一个html文件中        with open(fname, 'wb') as f: # 从响应的url中提取文件名字作为保存为本地的文件名,然后将返回的内容保存为文件            f.write(response.body)                   self.log('Saved file %s.' % fname) # self.log是运行日志,不是必要的

这个代码很简单就是爬取一个页面,并保存到文件中。

执行tutorial爬虫项目,在cmd目录中执行

scrapy crawl QuoteSpider

执行日志如下

可以在 tutorial 目录下看的 index_1.htm 文件;该文件就是爬取到的内容。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python 把数据写到tet_Crawlab准备之python+scrapy环境搭建 的相关文章

随机推荐

  • Qt 信号和槽的小问题(新手向)

    Qt项目报错 static assertion failed Signal and slot arguments are not compatible 信号和槽的参数不对应 例 槽函数 void A give QString a qDebu
  • 内存数据库-3-[redis]的架构原理和部署模式

    参考redis三种模式对比 Redis 是一个开源的 key value 存储系统 由于出众的性能 大部分互联网企业都用来做服务器端缓存 1 单实例模式 问题 1 内存容量有限 2 处理能力有限 3 无法高可用 Redis 在3 0版本前只
  • 我的股票项目环境配置过程记录(含python打包方法linux windows)

    股票项目从源码配置环境 V1 0 Windows 如果只是跑只需要这两个 pip3 install PyQt5 i https pypi douban com simple pip install U matplotlib pip inst
  • 直流-直流(DC-DC)变换电路

    直流 直流 DC DC 变换电路 可以将一种直流电源经过变换电路后输出另一种具有不同输出特性的直流电源 可以是一种固定电压或可调电压的直流电 按照电路拓扑结构的不同 DC DC变换电路可以分成两种形式 不带隔离变压器的DC DC变换电路和带
  • Tomcat7安装及配置教程

    Apache Tomcat7 0安装及配置教程 Apache Tomcat7 0官方网站链接 http tomcat apache org apache tomcat 7 0 73 windows x64 先解压下载的压缩包 然后在bin目
  • 使用express封装一个简单的http代理服务器以及手动设置Access-Control-Allow-Origin解决跨域问题

    一 跨域是什么 先来了解一下什么是跨域 才能知道如何解决跨域问题 跨域 出于浏览器的同源策略限制 使浏览器不能执行其他网站的脚本 同源策略是浏览器对 javascript 施加的安全限制 所谓同源就是指在同一个域内 就是两个地址具有相同的协
  • 自学Java的知识盲点(面向对象编程)

    目录 1 类和对象 1 1对象 属性 行为 1 1 1属性 成员变量 1 2类和对象的内存分配机制 1 3构造方法 1 3 1this关键字 1 4访问修饰符 2 封装 2 1定义 3 继承 ctrl h可以看继承关系 3 1基本介绍 本质
  • VS2019配置QT及打开项目报错处理

    放在一起是因为配置的拖了比较久 于是就放一起 以后要是遇到了 能够处理 也希望对遇到同样问题的能有所参考 对于下载安装qt的教程就不写了 因为已经好些优秀的文章了 这里把一位博主的地址放一下 可以看看qt下载 里面分享了下载的国内镜像地址
  • STM32CubeMAX:H库函数整理笔记

    GPIO HAL GPIO TogglePin GPIO TypeDef GPIOx uint16 t GPIO Pin 功能 用于切换指定的GPIO引脚 HAL GPIO EXTI Callback uint16 t GPIO Pin 功
  • Windows应急响应-入侵排查

    Windows应急响应 入侵排查 1检测系统账户安全 查看服务器有没有可疑账户新增账户 Win R lusrmgr msc 看有没有新增加用户 查看服务器有没有隐藏用户克隆账户 第一步 Win R打开运行窗口 输入regedit打开注册表编
  • cehp 维护(二)常见告警维护

    零 修订记录 序号 修订时间 修订内容 1 2021 11 18 新增 一 摘要 笨猪主要介绍ceph常见告警及维护方法或过程中遇到的问题 二 环境信息 2 1 ceph版本 cephadmin proceph01 ceph v ceph
  • 为什么不发展三进制计算机,三进制计算机

    三进制计算机 是以三进法数字系统为基础而发展的计算机 三进制逻辑相比较现今的计算机使用二进制数字系统更接近人类大脑的思维方式 二进制计算规则非常简单但并不能完全表达人类想法 在一般情况下 命题不一定为真或假 还可能为未知 在三进制逻辑学中
  • 折半查找算法 ,又称二分查找。(C语言)

    分析 此题目的是找到k 7的数 k的值可随便更改 如果数组中没有k对应的值 则找不到这个数字 并且输出查找次数 代码 include
  • Django 项目部署

    Django 项目部署 1 概述 将开发完成的 Django 项目部署到指定的服务器上 而服务器的系统基本都是 linux Django 项目当前最主要的部署方式是 Python Django Nginx uWSGI python 是 py
  • 一键换衣,任何图片局部一键AI修改,超强“魔法棒”!

    今天分享一个咱们的AI绘画工具的一个强大功能 它能够针对图片的任意局部进行一键AI修改 炒鸡强大 下面是花了几分钟修改的一张图片 原图 修改后 看出区别没有 头发颜色 裤子 项链 背景画面都发生了改变 下面就来揭秘咱是怎么操作的 首先打开软
  • Ceph 4 slow ops, oldest one blocked for 638 sec, mon.cephnode01 has slow ops

    因为实验用的是虚拟机的关系 晚上一般会挂起 第二天早上都能看到 4 slow ops oldest one blocked for 638 sec mon cephnode01 has slow ops的报错 虽然不影响使用 但看着有点难受
  • 【100%通过率 】【华为OD机试c++\python】组合出合法最小数【2023 Q1 A卷

    华为OD机试 题目列表 2023Q1 点这里 2023华为OD机试 刷题指南 点这里 题目描述 给一个数组 数组里面都是代表非负整数的字符串 将数组里所有的数值排列组合拼接起来组成一个数字 输出拼接成的最小的数字 输入描述 一个数组 数组不
  • oracle函数与触发器

    1 无参函数 CREATE OR REPLACE FUNCTION func1 RETURN VARCHAR2 IS BEGIN RETURN 欢迎你 USER 现在是 to char SYSDATE yyyy mm dd END func
  • 笔记总结备份

    目录 文章目录 目录 前言 版本控制 常用git 命令 操作系统 系统 机器数 时间管理 早期的 Linux 时间系统 中断 内存管理 内存分区 malloc申请一块内存的背后原理 RTOS 系统栈和协议栈 寄存器 磁盘调度算法 虚拟内存
  • python 把数据写到tet_Crawlab准备之python+scrapy环境搭建

    上篇 分布式爬虫管理平台Crawlab开发搭建 把爬虫的管理后台搭建起来了 捣鼓一番发现要真正爬取数据还有下不少的功夫 这篇看看怎么搭建python scrapy环境 0x01 安装Python3 下载python安装包 具体版本根据自己的