首先python的scrapy框架很好,功能强大,使用起来也很方便,省去了很多造轮子的时间。在学习的过程中也碰到了一些问题,在这里希望能分享与大家分享,做一个参考

1.安装(pip延时响应问题)

scrapy框架包含了很多包,理论上是通过pip install scrapy命令可直接安装。但实际上还是有很多的问题

问题1:

          在cmd直接输入pip install scrapy,可是网速会显示很慢,最后出现红字报错

          原因:这是网络连接的问题,pip命令会直接在python官网上下载包(官网的速度那就不敢恭维了)

          解决方法:输入 pip install -i  https://pypi.tuna.tsinghua.edu.cn/simple [module name]

( 这个网站是清华的资源网)

               注:如果网速更慢的小伙伴的话,可以在再加上时间元素

                 形如:pip --default-timeout=10000 install  package(与上面的方法可以综合使用)

2.所需要的知识储备

  python基础知识(if while for 继承 迭代器 异常处理 文件操作之类(现用现学也不迟))

  xpath相关知识,知道如何再xml网页中定位element(https://www.bilibili.com/video/av48794288?from=search&seid=14753612886237754814

  css选择器相关知识(https://www.w3school.com.cn/css/index.asp

           https://blog.csdn.net/lynnpaul/article/details/79884677

  正则表达式(B站上全都有)

  《数据通信与网络 第四版》第27章 万维网与超文本传输协议(了解web运行的基本原理)

  掌握上面这些可以基本开始scrapy框架的学习了,后面的知识用到再说

  *系统性的学习很重要,很重要,很重要。百度只能当作辅助,最好是去看书。好东西都在书里

3.教训

    vscode一定要搭建好环境

      推荐阅读:https://www.cnblogs.com/asce/p/11600904.html

          (还有一篇文章找不到了,大意就是配置好 环境变量,怎么配置可以自己搜)

4.当scrapy shell出故障时,推荐使用jupyter notebook进行网页分析(刚接触python编程时也推荐使用)

  补充:通过后续的学习,发现jupyter进行网页分析存在很大一部分局限性。

     实际上很多网站经典反爬虫机制之一就是会检查User-Agent。当我们直接通过爬虫程序发送请求时,会被网站服务器拒绝(such as经典爬虫练习网站:豆瓣)

     所以很多时候还是推荐直接使用scrapy框架(已经进行过User-Agent伪装或者模拟)直接分析,比如直接打印所需要的信息来检查xpath语法或者相关解析路径的正确

      如何设置随机User-Agent可参考我的另一篇博文:https://www.cnblogs.com/RosemaryJie/p/12336662.html

        

  安装:通过pip命令安装,jupyter(模块名)(如何安装详细细节可百度)

  通过cmd,输入jupyter notebook打开(在cmd中那个文件夹目录下输入命令,文件(file)便储存在哪个文件夹)

    在jupyter中可通过创建selector对象分析网页(selector对象包含了xpath和css方法)

      from scrapy.selector import Selector

      from scrapy.http import HemlResponse

      import requests

      Response = requests . get("www.jer0.com")

      response = HtmlResponse ( url="www.jer0.com" , body = Response . text , encoding = ' utf-8' )

      selector = Selector(response = response)

          

学习scrapy爬虫框架的一些经验和教训的更多相关文章

  1. scrapy爬虫框架学习笔记(一)

    scrapy爬虫框架学习笔记(一) 1.安装scrapy pip install scrapy 2.新建工程: (1)打开命令行模式 (2)进入要新建工程的目录 (3)运行命令: scrapy sta ...

  2. Scrapy 爬虫框架学习笔记(未完,持续更新)

    Scrapy 爬虫框架 Scrapy 是一个用 Python 写的 Crawler Framework .它使用 Twisted 这个异步网络库来处理网络通信. Scrapy 框架的主要架构 根据它官 ...

  3. Python之Scrapy爬虫框架安装及简单使用

    题记:早已听闻python爬虫框架的大名.近些天学习了下其中的Scrapy爬虫框架,将自己理解的跟大家分享.有表述不当之处,望大神们斧正. 一.初窥Scrapy Scrapy是一个为了爬取网站数据,提 ...

  4. scrapy爬虫框架教程(二)-- 爬取豆瓣电影TOP250

    scrapy爬虫框架教程(二)-- 爬取豆瓣电影TOP250 前言 经过上一篇教程我们已经大致了解了Scrapy的基本情况,并写了一个简单的小demo.这次我会以爬取豆瓣电影TOP250为例进一步为大 ...

  5. Scrapy爬虫框架(实战篇)【Scrapy框架对接Splash抓取javaScript动态渲染页面】

    (1).前言 动态页面:HTML文档中的部分是由客户端运行JS脚本生成的,即服务器生成部分HTML文档内容,其余的再由客户端生成 静态页面:整个HTML文档是在服务器端生成的,即服务器生成好了,再发送 ...

  6. Scrapy爬虫框架中的两个流程

    下面对比了Scrapy爬虫框架中的两个流程—— ① Scrapy框架的基本运作流程:② Spider或其子类的几个方法的执行流程. 这两个流程是互相联系的,可对比学习. 1 ● Scrapy框架的基本 ...

  7. 安装scrapy 爬虫框架

    安装scrapy 爬虫框架 个人根据学习需要,在Windows搭建scrapy爬虫框架,搭建过程种遇到个别问题,共享出来作为记录. 1.安装python 2.7 1.1下载 下载地址 1.2配置环境变 ...

  8. scrapy爬虫框架教程(二)-- 爬取豆瓣电影

    前言 经过上一篇教程我们已经大致了解了Scrapy的基本情况,并写了一个简单的小demo.这次我会以爬取豆瓣电影TOP250为例进一步为大家讲解一个完整爬虫的流程. 工具和环境 语言:python 2 ...

  9. Python爬虫教程-31-创建 Scrapy 爬虫框架项目

    本篇是介绍在 Anaconda 环境下,创建 Scrapy 爬虫框架项目的步骤,且介绍比较详细 Python爬虫教程-31-创建 Scrapy 爬虫框架项目 首先说一下,本篇是在 Anaconda 环 ...

随机推荐

  1. Web窗体--控件

    服务器基本控件:button: text属性linkbutton:text属性,它是一个超链接模样的普通buttonhyperlink: navigateurl:链接地址,相当于<a>标签 ...

  2. 转:ZABBIX监控H3C设备的CPU和内存使用率

      由于最近监控的H3C路由器经常出现死机现象,SNMP获取不到数据,后面检查发现是CPU使用率过高,直接导致无法处理SNMP请求,所以需求来了,怎样通过SNMP监控H3C路由器的CPU和内存使用率? ...

  3. springboot 多数据源之错误 HikariPool-1 - jdbcUrl is required with driverClassName.

    数据源连接报错: 之前在1.5.7的版本的时候用该数据源配置没问题,看如下所示 springboot1.5.7配置多数据源: datasource.master.url=jdbc:mysql://lo ...

  4. Elasticsearch,Filebeat,Kibana部署,添加图表及elastalert报警

    服务端安装 Elasticsearch和Kibana(需要安装openjdk1.8以上) 安装方法:https://www.elastic.co以Ubuntu为例: wget -qO - https: ...

  5. 笔记: SpringBoot + VUE实现数据字典展示功能

    最近一直在写前端,写得我贼难受,从能看懂一些基础的代码到整个前端框架撸下来鬼知道我经历了啥(:´д`)ゞ 项目中所用到的下拉菜单的值全部都是有数据库中的数据字典表来提供的,显示给用户的是的清晰的意思, ...

  6. python通用读取vcf文件的类(可以直接复制粘贴使用)

    前言   处理vcf文件的时候,需要多种切割,正则匹配,如果要自己写其实会比较麻烦,并且每次还得根据vcf文件格式或者需要读取的值不同要修改相应的代码.因此很多人会选择一些python的vcf的库,但 ...

  7. PostgreSQL没有认证密码就登陆了缘由

    上午同事爆出这样的问题,使用正确的用户名和错误的密码连接了postgresql数据库,竟然连上了.这不是故意这样神操作,不小心密码写错了,咋一看这样怎么能行,随便输入一个密码都能登陆上.自己测试也是同 ...

  8. 关于使用map存放数据乱序”问题“

    今天做项目中遇到了一个比较低级的错误,如果没注意将会变的更麻烦... 其实吧,也不难,要求就是将list中的值转为map后,再顺序输出map中的值,list的顺序怎样,加入到map的顺序也应怎样,不能 ...

  9. Hibernage错误:Could not open Hibernate Session for transaction

    今天客户发来的错误,是SSH框架做的项目,是用户在登陆时候出现的错误,但刷新之后就没问题. 提示错误:Could not open Hibernate Session for transaction. ...

  10. disruptor 链路实战 三

    一.创建Event类 Trade import java.util.concurrent.atomic.AtomicInteger; public class Trade { private Stri ...