Ubuntu远程连接显示错误Network error Connection refused解决方法

之前在通过Filezilla往虚拟机或者服务器上传送文件的时候都是十分顺利的,不过最近老是遇到“错误:Network error: Connection refused”,如下图所示。

Ubuntu远程连接显示错误Networkerror解决方法

此外还有“错误: 认证失败。”的错误,如下图所示,从而导致“错误:严重错误:无法连接到服务器”现象的发生。

Ubuntu远程连接显示错误Networkerror解决方法

其实这两个错误并不是同一个原因,所以需要对症下药,否则用药是不会起到效果的。

针对“错误: Network error: Connection refused”的问题,一般是因为Ubuntu刚刚安装好系统,系统中缺乏openssh-server这个包,只需要在Ubuntu中输入安装命令:sudoapt-get install openssh-server,便可以安装了,如下图所示。

Ubuntu远程连接显示错误Networkerror解决方法

待远程连接安装包安装好之后,再次尝试远程连接,确保用户名和密码是正确的,之后便可以连接上了,如下图所示。

Ubuntu远程连接显示错误Networkerror解决方法

针对“错误: 认证失败。”的错误通常是你的用户名或者密码不正确,远程连接是没有问题的,此时如果确认登录密码没有错误的话,很可能是你自己的用户名出错了。

一般的,我们在安装Ubuntu系统的时候,通常会设置用户名为root,但是也有的时候我们会自定义的去设置用户名,如小编的虚拟机名字就是dcpeng,如果选择root用户登录的话,肯定就会出现“错误:认证失败。”的问题,如下图所示。

Ubuntu远程连接显示错误Networkerror解决方法

解决方法也很简单,将用户名改为自己设定的用户名即可,本例中是dcpeng,设置好之后,再次尝试连接,便可以顺利的连接上了,如下图所示。

Ubuntu远程连接显示错误Networkerror解决方法

本文主要是给Linux系统初学者容易遇到的远程登录问题做个简单的总结,希望后来者遇到相对应的问题可以顺利解决,对症下药,而不是选择重新卸载虚拟机,再重新安装系统,这样就事倍功半啦~~

日后小伙伴们可能会通过Filezilla、Putty、Xftp、SecureCRT等远程连接工具遇到类似的问题时,都可以借鉴该方法,举一反三。

最后欢迎大家来积极赐稿噢,只要是编程,计算机相关的稿件都可以投稿给我啦~~

看完本文有收获?请转发分享给更多的人

IT共享之家

入群请在微信后台回复【入群】

——————- End ——————-

往期精彩文章推荐:

服务器之间实现免密登录的简易教程

今天这篇文章主要是教会大家如何实现服务器之间的免密登录。

1、先在所有服务器上执行命令:

ssh-keygen -t dsa -P ” -f ~/.ssh/id_dsa

master服务器

slave1服务器

slave2服务器

2、而后在所有服务器上执行命令:

cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys

master服务器

slave1服务器

slave2服务器

3、之后将每台服务器上的id_dsa.pub公钥发送到其他机器的/tmp文件夹下,如在master上执行

scp ~/.ssh/id_dsa.pub slave1:/tmp/

scp ~/.ssh/id_dsa.pub slave2:/tmp/

master服务器

4、之后在其他的机器上将公钥追加到各自的authorized_keys里,执行以下命令:

cat /tmp/id_dsa.pub >>~/.ssh/authorized_keys

cat /tmp/id_dsa.pub >>~/.ssh/authorized_keys

slave1服务器

slave2服务器

5、同样的,在其他的机器上将公钥发送到其他服务器上,然后在其他服务器上将公钥追加到各自的authorized_keys即可。

slave1服务器

slave2服务器

6、最后是测试免密钥连接。

master服务器

slave1服务器

slave2服务器

至此,免密钥登录已经设置完成。这里是以三台服务器为例进行说明,如果有三台服务器及以上都可以参考该方法进行设置。

——————- End ——————-

往期精彩文章推荐:

看完本文有收获?请转发分享给更多的人

Python爬虫与数据挖掘

入群请在微信后台回复【入群】

在公众号后台回复下列关键词可以免费获取相应的学习资料:

Python、网络爬虫 、书籍、数据分析、机器学习、数据结构、

大数据、服务器、Spark、Redis、C++、C、php、

mysql、java、Android、面试题、课堂、其他

浅谈虚拟环境管理工具virtualenvwrapper

/1 前言/

  过年了,村都被封了,哎,出都出不去,想着干点啥,就把以前没完善的继续完善一下。今天呢,还是继续说Python的虚拟环境,因为上次的虚拟环境,写的并不是太完整,还差一些。因为我写的,主要是针对初学者或者接触过一点的,基础不是太好的,所以用了很多图片,上次的太长了,只能分成两次了,好了,咱们开始正文吧。对了,还没有来得及看虚拟环境上篇的小伙伴可以戳这篇文章:手把手教你如何在Pycharm中加载和使用虚拟环境。

/2 为什么需要虚拟环境管理工具/

  上次我们学会了,如何配置虚拟环境。这里呐,要补充一点点,我们每次在创建新的虚拟环境之前,先在真实环境中执行一下 pip list,看一下我们的pip用不用更新一下,就像这样,如下图所示。

如果提示有红色框框圈起来的内容,就需要更新一下pip了,否则我们克隆的虚拟环境pip也没有更新,安装的第三方包可能会出现莫名其妙的问题,所以,为了安全起见,还是根据人家的命令(白色圈起来的),安装一下,如下图所示。

今天呢,怎么说的是虚拟环境管理工具,为什么要有这个东西呢,是因为原来的那种方式,还是麻烦,每次cmd还得进入虚拟环境目录下,还得激活,时间长了可能我连我自己有几个虚拟环境就不知道,所以,为了再方便一点,需要一个管理虚拟环境的工具。

/3 安装教程/

这里使用的是 virtualenvwrapper,安装的方式不太一样。

如果是windows,需要执行 pip install virtualenvwrapper-win;如果是linux,需要执行 pip install virtualenvwrapper。

嗯,装完就好啦!

/4 安装教程/

装完之后呢,命令有这几个。

1、列出所有的虚拟环境 -> workon。

这不,不管在哪,只要执行workon,就可以列出所有的虚拟环境。

2、但是有的小伙伴可能会遇到下图的情况。

没事,别担心,是因为少配置了系统环境变量。这个问题不大,有的可能会自动配置,有的手动配置,问题不大。

3、我假装各位都会怎么进入环境变量这个面板了哈,不会的都过分了。依次点击我的电脑>高级系统设置>环境变量,如下图所示。

4、然后呢,我们新建有一个变量名叫 WORKON_HOME ,变量值就是我们专门用户存放虚拟环境的文件夹地址,然后点击保存保存,一直确定即可,如下图所示。

5、重新打开一个cmd,不打开是不行的,然后执行workon,就会发现,success,如下图所示。

6、好了,可能出现的坑解决了,继续正文。进入虚拟环境 -> workon 虚拟环境名,如下图所示。前面有括号,就表示进入了该虚拟环境。

7、如果想退出当前虚拟环境 -> deactivate,如下图所示。

8、如果想创建虚拟环境 -> mkvirtualenv 环境名,如下图所示。

在这还有一个小技巧,有的人可能tab键不能自动提示,但是除了退出虚拟环境和创建虚拟环境有点长,其他都简单,手打都没关系,退出虚拟环境大不了我不退了,再打开一个cmd。

但是创建虚拟环境真心避免不了,没事,看到红色圈起来的没,执行workon命令就能看到,只需要记一个mk,后面的复制就好,不要复制那个s,这样就好了,mkvirtualenv就记住了。

9、删除虚拟环境 -> rmvirtualenv 环境名,如下图所示。

命令比较长,记的方法同上,只需要记rm 后面的复制

/5 结尾/

好了,到此为止,所有关于虚拟环境和虚拟环境管理工具的都讲完了,希望各位小伙伴多多尝试,实践才能出真知。

看完本文有收获?请转发分享给更多的人

Python爬虫与数据挖掘

入群请在微信后台回复【入群】

在公众号后台回复下列关键词可以免费获取相应的学习资料:

Python、网络爬虫 、书籍、数据分析、机器学习、数据结构、

大数据、服务器、Spark、Redis、C++、C、php、

mysql、java、Android、面试题、课堂、其他

干货|Python大佬手把手带你破解哔哩哔哩网滑动验证(下篇)

/1 前言/

昨天我发布了Python大佬手把手带你破解哔哩哔哩网滑动验证(上篇),没有来得及学习破解理论的小伙伴可以戳进去看看噢!今天这篇文章,我们直接进行讲解哔哩哔哩极验破解,重点进行方法实现。

本篇文章主要是针对哔哩哔哩的滑动验证码进行破解。

/2 打码参数获取/

1、根据上篇文章的总结,我们需要在目标网站(哔哩哔哩)上找到gt,challenge,api_server这三个参数,所以我们现在切换到哔哩哔哩找一下。

2、我们打开浏览器,点击哔哩哔哩网页的network,刷新网页,重新加载所有请求,之后使用crtl+f快捷键,迅速搜索challenge,如下图所示。

3、通过上图我们可以看到,可以找到那个参数,但是到底是不是这个呢?放心,人家2captcha文档说了,通常可以在initGeetest发现它。我们再尝试查找一下,点击Elements,然后使用快捷键ctrl+shift+f全局搜索一下,搜索initGeetest,如下图所示。

4、如上图所示,还真有一个,我们点进去看看详情。

可以看到在829行的位置,还真的有initGeetest这个值。我们在这里打上断点,再次刷新看看,匹配一下是否和network里的一致。

5、首先,我们看看断点对应的值,点进去看看详情,如下图所示。可以看到gt和challenge这两个参数对应的值。

6、接下来再看看network里边对应的值,我们点进去看看详情。

诶,至少这两个地方的值看着一样的,我们可以确定,他们之间肯定有很大关系。到目前为止,我们已经确定了两个值,即gt和challenge,还差一个api_server,继续往下进行。

7、接下来我们随便输入账号密码点击登录一下,触发一下极验,在elements元素中,搜索api_server,如下图所示。

上图中红色框框圈起来的地方表示的就是api_server。至此,基本工作已经完成了。

/3 具体实现/

1、在第二节中,我们已经找到了打码请求参数,找齐参数之后,接下来我们就该请求打码平台了。

2、在前面已经说到,在network中,请求链接https://passport.bilibili.com/web/captcha/combine?plat=11就可以获得gt,challenge,外加一个key,即可发送请求了,部分代码如下所示。

这样,我们就拿到了gt和challenge。

完整的代码,我会放到后面的github链接,觉得不错的话,记得给个star噢!

3、接下来我们请求一下打码平台的接口,带上自己参数。但是需要注意的是打码平台需要请求两次,第一次返回的是任务ID,第二次才是滑动模块的成功值。

注:challenge是动态的,其他的是静态的;API_KEY是打码平台的key,在上篇文章开头介绍提及的那个key。

4、通过两个函数,我们就成功的拿到了打码平台返回的值。

5、下图中红色圈起来的,就是破解极验的第一个关键参数,这个参数拿到之后,就已经跟人家打码平台没关系啦!我们只需要带着相关参数,登录哔哩哔哩就好了。

6、但是这个参数要往哪发呢?在network经过一番查找后,似乎发现一个和登录有关的接口,如下图所示。

通过上图,我们可以看到,红色框圈起来的部分,正是2captcha平台返回给我们的数据;而那个key值正是 …combine?plat=11这个url返回的key。就是password,进行了加密,那么他是如何加密的呢?一起来看看

7、如下图所示,经过不断的断点,不断的断点…终于确定了,密码会经过这个函数进行加密,它本质是 RSA非对称加密,听着就吓人,不过不要慌,盘它就是了。

这个函数逻辑是先请求一个//passport.bilbilli.com/login?act=get&r=””,这个url,带上一个随机数,然后会返回一个随机hash,和一个公钥key,公钥key是固定的,然后将随机hash和密码进行加密,发送给它后,后台进行解密。

8、破解代码部分如下图所示。

通过上述两个函数,就模拟出了密码,最后,我们只需要提交到后台就可以了。

/4 示例效果/

1、如果账号或者密码错误的话,将会有如下图的提示。

2、如果账号和密码都正确的话,将会有如下图的提示。

上图中第一个表示的是跳转的url,第二个是返回的cookie,如果我们在请求哔哩哔哩的其他东西的话,只需要带着这个cookie就好了。

至此,我们的破解就告一段落啦!

/5 总结/

写到这里,这篇文章已经超过2500个字了,加上哔哩哔哩破解上篇,将近5000字的长文了,小编在这里大概整理一下破解的主要流程。

1、首先,我们确定需要第三方平台去帮助我们破解极验,之后我们需要找到这个第三方平台,并且需要进行注册。

2、注册之后,我们需要阅读API操作文档。

3、根据API操作文档,在翻译的帮助下,找到目标网站的gt,challenge和api_server三个值,然后,加上其他一些参数发送到 https://2captcha.com/in.php,会返回一个任务ID。

4、然后等个15秒左右以后,再像https://2captcha.com/res.php请求,带上任务ID加上一些其他参数,即可进行破解。

5、代码详情已经上传到GitHub:https://github.com/cassieeric/python_crawler/tree/master/bilibili_decryte

这两篇文章主要介绍了第三方打码平台、破解理论和具体实践,以破解破解哔哩哔哩网址极验为例,展开具体的破解过程,其中代码已经上传到github,感兴趣的小伙伴们可以去尝试一下噢!

——————— End ———————

往期精彩文章推荐:

看完本文有收获?请转发分享给更多的人

Python爬虫与数据挖掘

入群请在微信后台回复【入群】

在公众号后台回复下列关键词可以免费获取相应的学习资料:

Python、网络爬虫 、书籍、数据分析、机器学习、数据结构、

大数据、服务器、Spark、Redis、C++、C、php、

mysql、java、Android、面试题、课堂、其他

Xshell远程连接的具体操作和Xshell多会话设置小技巧

前几天给大家分享了Xshell的安装教程,今天给大家分享如何在Xshell中进行远程连接,并且分享一下如何设置一条命令可以发送多个终端,这里以Xshell6为例进行说明,具体的教程如下。

1、依次点击左上方的“file”——>“New”,如下图所示。

Xshell远程连接的具体操作和Xshell多会话设置小技巧

2、尔后弹出下图界面,是新会话的设置界面,在这里我们需要设置的是会话的名称,主机IP地址,在红色框框对应的栏目中。

Xshell远程连接的具体操作和Xshell多会话设置小技巧

3、这里我将其命名为slave2,然后给出终端的IP地址,设置完成之后点击“OK”即可。

Xshell远程连接的具体操作和Xshell多会话设置小技巧

4、此时在左侧的“所有会话”目录下可以看到刚刚新建的slave2会话,如下图所示。

Xshell远程连接的具体操作和Xshell多会话设置小技巧

5、选中刚刚创建的会话slave2,然后右键,选中“OPEN”,如下图所示。

Xshell远程连接的具体操作和Xshell多会话设置小技巧

6、尔后将会弹出一个远程安全警告界面,意思是这次远程连接你是希望“一次性连接”还是“接受并保存”。考虑到我们经常要远程连接到终端,一般的我们选择“接受并保存”,如下图所示。

Xshell远程连接的具体操作和Xshell多会话设置小技巧

7、弹出下图界面,在这里我们需要给出远程连接的用户名。

Xshell远程连接的具体操作和Xshell多会话设置小技巧

8、用户名一般是root,如果想让Xshell记住你的登录的话,记得勾选下图中的空白框框,如下图所示,尔后点击“OK”进行连接。

Xshell远程连接的具体操作和Xshell多会话设置小技巧

9、这一步需要输入远程终端或者服务器或者虚拟机等的密码,如下图所示,然后可选择是否让Xshell记住你的登录密码。

Xshell远程连接的具体操作和Xshell多会话设置小技巧

10、在这里填入登录密码,并勾选“记住密码”的下拉框,尔后选择“OK”,如下图所示。

Xshell远程连接的具体操作和Xshell多会话设置小技巧

11、上述步骤完成之后,Xshell便会自动去进行连接,如下图所示,远程连接终端slave2成功。

Xshell远程连接的具体操作和Xshell多会话设置小技巧

至此,Xshell进行远程连接终端的教程已经完成,下面介绍一个小技巧,用于一次操纵多个终端之用,具体教程如下。

1、依次点击Xshell主页选项卡中的“View”——>“Compose”——>“ComposeBar”(条框形式)或者“Compose Pane”(面板形式)。

Xshell远程连接的具体操作和Xshell多会话设置小技巧

2、选择完成之后,想Xshell的下方会出现一个小空白框,用于写入操纵命令的。

Xshell远程连接的具体操作和Xshell多会话设置小技巧

3、点击空白框的左侧小logo,然后右键,如下图所示。选中第三个“To All Sessions”,意思是将操作命令发送到所有会话中,也就是让命令一次性执行在多个终端上。

Xshell远程连接的具体操作和Xshell多会话设置小技巧

4、下面验证一下,输入命令“ls”,如下图所示。可以看到三个终端上都执行了“ls”这条命令。一般的,当一次性执行之后,在其他的会话窗口的左边有个蓝色的感叹号产生,如下图所示,代表该命令也执行了。

Xshell远程连接的具体操作和Xshell多会话设置小技巧

至此,本文该告一段落了,主要讲述了Xshell远程连接的具体操作步骤和Xshell多会话设置的小技巧,这个小技巧十分常用,而且还可以极大的提高我们的效率,希望小伙伴们都可以掌握并且运用到实践中去。

——————— End ———————

往期精彩文章推荐:

看完本文有收获?请转发分享给更多的人

Python爬虫与数据挖掘

入群请在微信后台回复【入群】

在公众号后台回复下列关键词可以免费获取相应的学习资料:

Python、网络爬虫 、书籍、数据分析、机器学习、数据结构、

大数据、服务器、Spark、Redis、C++、C、php、

mysql、java、Android、面试题、课堂、其他

VMware中出现物理内存不足,无法使用配置的设置开启虚拟机解决方案

前几天给大家分享了如何在VMware中安装CentOS系统,后来有小伙伴在群里咨询,当新建虚拟机之后,打开虚拟机会弹出“物理内存不足,无法使用配置的设置开启虚拟机”的问题,如下图所示。这里会给出提示,让你将虚拟机内存大小减少到20352MB。

VMware安装之虚拟机启动时中出现物理内存不足的解决方案

究其原因,是因为有的小伙伴在初次安装虚拟机系统的时候,因为不知道虚拟机该如何去配置,所以尽可能的给虚拟机更高的配置,如果盲目的加高配置,会导致物理内存不足的现象产生,本文针对这一问题,给出解决方法。

1、保证虚拟机处于关机的状态,如下图所示。

VMware安装之虚拟机启动时中出现物理内存不足的解决方案

2、之后点击“编辑虚拟机设置”,如下图所示。

VMware安装之虚拟机启动时中出现物理内存不足的解决方案

3、尔后弹出下图的界面,这个是之前在创建虚拟机的时候就指定了的内存大小(20GB)。

VMware安装之虚拟机启动时中出现物理内存不足的解决方案

4、现在只需要将该内存大小改为报错提示的20352MB即可,如下图所示。

VMware安装之虚拟机启动时中出现物理内存不足的解决方案

5、尔后重新进行打开虚拟机的操作,如下图所示。

VMware安装之虚拟机启动时中出现物理内存不足的解决方案

6、本以为这就可以解决问题了,不过很不巧,再次翻车,如下图所示。

VMware安装之虚拟机启动时中出现物理内存不足的解决方案

7、这里再次提示同样的错误,而且内存大小再次下降了一个档次,于是乎我们还需要将内存进行压缩一下下,设置的方法同之前一致,这里不再赘述。索性将内存大小设为16GB。即16384MB,如下图所示。

VMware安装之虚拟机启动时中出现物理内存不足的解决方案

8、设置完成之后,可以在VMware主页中看到虚拟机的设备信息,如下图所示。

VMware安装之虚拟机启动时中出现物理内存不足的解决方案

9、再次尝试开启虚拟机,如下图所示。这次虚拟机便可以正常进行启动了。

VMware安装之虚拟机启动时中出现物理内存不足的解决方案

至此,“物理内存不足,无法使用配置的设置开启虚拟机”的问题已经解决,尔后便可以进行虚拟机系统的安装等操作。

——————— End ———————

往期精彩文章推荐:

看完本文有收获?请转发分享给更多的人

Python爬虫与数据挖掘

入群请在微信后台回复【入群】

在公众号后台回复下列关键词可以免费获取相应的学习资料:

Python、网络爬虫 、书籍、数据分析、机器学习、数据结构、

大数据、服务器、Spark、Redis、C++、C、php、

mysql、java、Android、面试题、课堂、其他

虚拟机创建后该如何获取IP地址并访问互联网实用教程

之前在做项目的时候主机IP地址、网关、DNS、子网掩码等都是公司或者对方直接给提供的,但是如果我们自己想搭建一台虚拟机或者一台集群的话,手头又没有IP地址,该肿么办呢?

虚拟机创建后该如何获取IP地址并访问互联网实用教程

白慌,这里介绍一个小技巧,亲测是好使的,给大家分享一下。

首先,保证你的虚拟机或者服务器安装好了系统,这里以CentOS6.7版本进行说明,具体的操作教程如下。

1、当我们创建好虚拟机之后,直接在命令行中输入命令查看IP地址,得到的往往如下图所示,即便是你怎么调整NAT模式亦或是桥接模式,不会起到太大的作用。

虚拟机创建后该如何获取IP地址并访问互联网实用教程

2、此时就需要更改虚拟机的网络配置文件,在CentOS6.7中,该网络配置文件在/etc/sysconfig/network-scripts/ifcfg-eth0里边,具体内容如下图所示。

虚拟机创建后该如何获取IP地址并访问互联网实用教程

3、需要改动的地方只有一个,你没有看错,就只有一个,只需将ONBOOT的值由之前的“no”改为现在的“yes”即可,如下图所示,而且wq保存退出即可。

虚拟机创建后该如何获取IP地址并访问互联网实用教程

4、可以通过cat命令查看文件内容是否更改成功,如下图所示。

虚拟机创建后该如何获取IP地址并访问互联网实用教程

5、关闭防火墙,如下图所示。

虚拟机创建后该如何获取IP地址并访问互联网实用教程

6、之后重启网络,“service netwowrk restart”即可,如下图所示。

虚拟机创建后该如何获取IP地址并访问互联网实用教程

7、之后再次输入“ifconfig -a”查看IP地址的命令,便可以看到此时虚拟机已经自动获取到IP了,如下图所示。

虚拟机创建后该如何获取IP地址并访问互联网实用教程

8、并且该IP还可以ping通互联网,如下图所示。

虚拟机创建后该如何获取IP地址并访问互联网实用教程

如此一来,我们就可以顺利的获取IP地址,可以继续我们后续的操作,如搭建分布式、CDH集群等操作了。

——————— End ———————

往期精彩文章推荐:

看完本文有收获?请转发分享给更多的人

Python爬虫与数据挖掘

入群请在微信后台回复【入群】

在公众号后台回复下列关键词可以免费获取相应的学习资料:

Python、网络爬虫 、书籍、数据分析、机器学习、数据结构、

大数据、服务器、Spark、Redis、C++、C、php、

mysql、java、Android、面试题、课堂、其他

关于Scrapy爬虫项目运行和调试的小技巧(上篇)

扫除运行Scrapy爬虫程序的bug之后,现在便可以开始进行编写爬虫逻辑了。在正式开始爬虫编写之前,在这里介绍四种小技巧,可以方便我们操纵和调试爬虫。

一、建立main.py文件,直接在Pycharm下进行调试

很多时候我们在使用Scrapy爬虫框架的时候,如果想运行Scrapy爬虫项目的话,一般都会想着去命令行中直接执行命令“scrapy crawl crawler_name”,其中crawler_name指的是爬虫的名字,在一开始创建Scrapy爬虫模板的时候就指定了的,而且在该爬虫项目中具有唯一性。但是每次跑到命令行下去执行,看交互的结果,有时候并不是很清晰,所以这里介绍一种方法,可以帮助大家提高开发效率,尤其是调试的时候更是显得方便。

在与爬虫项目的scrapy.cfg文件同级目录下建立一个main.py文件,用于控制整个爬虫项目的执行。

关于Scrapy爬虫项目运行和调试的小技巧(上篇)

在该文件夹中写入的代码见下图。其中execute函数是内嵌在scrapy中的,调用这个函数可以直接调用该Scrapy工程项目的爬虫脚本,这个函数的执行需要在爬虫项目的父目录下进行。而第7行代码的意思就是获取当前py文件的父目录,省去我们直接复制路径的精力和时间,同时也方便我们将该项目放到其他的平台上去运行,不会报路径的错误。execute函数里边的参数其实就是将Scrapy爬虫执行命令拆分,然后分别以一个字符的方式放到了一个数组中。

关于Scrapy爬虫项目运行和调试的小技巧(上篇)

之后我们直接运行这个main.py文件便可以调用Scrapy爬虫程序了。

二、多用Debug进行调试,提高开发速度

相信用过Pycharm的小伙伴都看到过Debug这个东东,它的英文意思就是“小虫子”,在Pycharm中的logo也是个小虫子,像是七星瓢虫一样,不过很多小伙伴可能还没有怎么用过,这里简单的介绍给大家,希望大家日后可以多多用到,对于项目的调试十分有帮助。

在进行Debug调试之前,我们需要在我们想要调试的代码左侧进行打断点,断点一般是红色的,打断点的方式很简单,只需要在代码的左侧点击一下左键即可,如下图所示。

关于Scrapy爬虫项目运行和调试的小技巧(上篇)

断点设置完成之后,便可以去main.py文件进行调试了。在main.py文件点击右键,然后选择“Debug ‘main’”,如下图所示。

关于Scrapy爬虫项目运行和调试的小技巧(上篇)

之后爬虫程序便开始进行调试,并且会返回一系列结果,如下图所示,可以方便的进行拖拽查看。同时也会在爬虫文件中以绿色的字体进行显示爬虫的结果,很漂亮。

关于Scrapy爬虫项目运行和调试的小技巧(上篇)

如果想退出或者停止该调试,则点击Pycharm上方选项卡的Run,然后点击“Stop ‘main’”即可,如下图所示。

关于Scrapy爬虫项目运行和调试的小技巧(上篇)

之后该爬虫程序就会退出调试,恢复正常的Pycharm界面,如下图所示。

关于Scrapy爬虫项目运行和调试的小技巧(上篇)

关于Scrapy爬虫项目运行和调试两个小技巧先分享到这里,下次将分享Scrapy爬虫项目中更为实用的两种调试方法,敬请期待~~

——————— End ———————

往期精彩文章推荐:

看完本文有收获?请转发分享给更多的人

Python爬虫与数据挖掘

入群请在微信后台回复【入群】

在公众号后台回复下列关键词可以免费获取相应的学习资料:

Python、网络爬虫 、书籍、数据分析、机器学习、数据结构、

大数据、服务器、Spark、Redis、C++、C、php、

mysql、java、Android、面试题、课堂、其他

运行Scrapy程序时出现No module named win32api问题的解决思路和方法

有小伙伴在群里边反映说在使用Scrapy的时候,发现创建项目一切顺利,但是在执行Scrapy爬虫程序的时候却出现下列报错:“No module named win32api”,如下图所示,但是不知道怎么破,今天就这个问题讲解一下解决方案。

运行Scrapy程序时出现No module named win32api的解决思路和方法

出现这个报错是因为在Windows下我们缺少一个包,叫pypiwin32,这个报错一般只是在Windows下出现。很多小伙伴看到“No module named win32api”,于是乎便想着直接输入安装命令“pip install win32api”,结果系统给出下图提示:

运行Scrapy程序时出现No module named win32api的解决思路和方法

“Could not find aversion that satisfies the requirement win32api (from versions: ) No matchingdistribution found for win32api”。

运行Scrapy程序时出现No module named win32api的解决思路和方法

原来是没有找对安装包,正确的姿势是安装pypiwin32才是,输入安装命令“pip install pypiwin32”,结果如下图所示:

运行Scrapy程序时出现No module named win32api的解决思路和方法

小伙伴们又傻眼了,What???

运行Scrapy程序时出现No module named win32api的解决思路和方法

再尝试从豆瓣源上进行下载该库,结果如下图所示:

运行Scrapy程序时出现No module named win32api的解决思路和方法

还是报错,确实是好尴尬。

接下来就该求助Python包网站https://www.lfd.uci.edu/~gohlke/pythonlibs/,里边的Python包专门用于Windows下的安装的。在网页中找到pypiwin32安装包,然后选择本机Python对应版本和电脑系统位数的安装包,小编的电脑是64位的,而且Python版本是Python3.4,所以下载的包如下图红色框框所示。

运行Scrapy程序时出现No module named win32api的解决思路和方法

下载之后,将安装包放到site-packages文件夹下,如下图所示。

运行Scrapy程序时出现No module named win32api的解决思路和方法

之后执行安装命令“pip install pywin32-223.1-cp34-cp34m-win_amd64.whl”,如下图所示,显示“pywin32-223.1-cp34-cp34m-win_amd64.whlis not a supported wheel on this platform.”,无支持的平台。

运行Scrapy程序时出现No module named win32api的解决思路和方法

此时仍需要get一个小技巧,之前在Scrapy安装的问题总结一文中也有提及,这里再次借助这个方法进行实现,直接将.whl改为.zip,尔后进行解压即可,输入“pip list”进行查看。

运行Scrapy程序时出现No module named win32api的解决思路和方法

可以看到pywin32已经在里边了,并不是pypiwin32,怀着试一试的心态,再次执行爬虫命令,可以看到不再报这个错误了,竟然解决了这个问题。PS:因为爬虫程序的主题文件还没有任何的逻辑实现,所以返回的pipelines数据为空。

运行Scrapy程序时出现No module named win32api的解决思路和方法

最后安利一个小技巧。最近有的小伙伴在群里问,如果不小心没有记住Scrapy爬虫项目的名字,又不想去Pycharm中进行查看爬虫主体文件,该肿么办?这里介绍一个小技巧,可以帮助你找到爬虫的名字。直接在命令行中输入“scrapy list”即可看到爬虫的名字,如下图所示。

运行Scrapy程序时出现No module named win32api的解决思路和方法

到这里,关于“No module namedwin32api”的报错问题已经得到了解决,下次小伙伴们可以直接输入安装命令“pip install pywin32”即可,如果有报错的话,可以再尝试文中的解决问题的思路和方法。

运行Scrapy程序时出现No module named win32api的解决思路和方法

不过全文中的解决问题的思路和方法,小伙伴们日后都可以借鉴一下,希望对的大家的学习有帮助。

——————— End ———————

往期精彩文章推荐:

看完本文有收获?请转发分享给更多的人

Python爬虫与数据挖掘

入群请在微信后台回复【入群】

在公众号后台回复下列关键词可以免费获取相应的学习资料:

Python、网络爬虫 、书籍、数据分析、机器学习、数据结构、

大数据、服务器、Spark、Redis、C++、C、php、

mysql、java、Android、面试题、课堂、其他

Xshell安装教程及Xshell安装程序集组件时出错的解决方法

部分小伙伴在安装Xshell的时候可能会遇到这个问题:“Xshell5安装程序集组件{0D7E67F6-1A6A-3A26-AF95-B8E83DDCCC3F}时出错。HRESULT0x80070BC9”,导致安装被强制退出,如下图所示。

Xshell安装教程及Xshell安装程序集组件时出错的解决方法

尔后安装回滚,如下图所示。

Xshell安装教程及Xshell安装程序集组件时出错的解决方法

这个问题我在网上查了挺多论坛和博客,也有不少大佬提出了一些可行性的建议,我没能一一去实现,这里直接给出一种可行的方案,供大家日后少踩坑之用。从博客和论坛的总结来看,出现这个问题大多数都是因为我们自己下载软件不正规,或者为了下载破解版(阉割版),所以才导致的错误。针对这个问题最简单易行的方法就是去官网上下载正版的Xshell版本,官网下载过来的,目前是没有收费的噢,当然也有收费的版本。目前Xshell最新的版本为Xshell6,如下图所示。

Xshell安装教程及Xshell安装程序集组件时出错的解决方法

等Xshell下载完成之后,便可以进行安装了,其具体安装过程如下,这里以Xshell5的安装进行示例,Xshell6的安装可以按图索骥。

1、找到Xshell的安装包,右键以管理员身份进行运行,尔后Xshell安装开始进行。

Xshell安装教程及Xshell安装程序集组件时出错的解决方法

2、尔后会弹出Xshell安装向导,如下图所示,直接点击“下一步”即可。

Xshell安装教程及Xshell安装程序集组件时出错的解决方法

3、这一步点击同意许可协议即可,然后进行下一步。

Xshell安装教程及Xshell安装程序集组件时出错的解决方法

4、这一步默认即可,点击下一步。

Xshell安装教程及Xshell安装程序集组件时出错的解决方法

5、选择Xshell的安装地址,可以根据个人情况进行选择,点击“浏览”可以更改安装的文件夹。

Xshell安装教程及Xshell安装程序集组件时出错的解决方法

6、这里选择安装在D盘,如下图所示。

Xshell安装教程及Xshell安装程序集组件时出错的解决方法

7、这一步是“选择程序文件夹”,直接默认即可,点击“下一步”。

Xshell安装教程及Xshell安装程序集组件时出错的解决方法

8、这一步是选择语言,默认是简体中文,也可以更改为英文什么的,选择完成之后开始进入安装。

Xshell安装教程及Xshell安装程序集组件时出错的解决方法

9、等待Xshell安装完成,如下图所示,这一步稍微需要点时间。

Xshell安装教程及Xshell安装程序集组件时出错的解决方法

10、等待完成即可,尔后可以进行启动了。

Xshell安装教程及Xshell安装程序集组件时出错的解决方法

11、下图是Xshell6安装完成之后的界面。

Xshell安装教程及Xshell安装程序集组件时出错的解决方法

至此,Xshell安装已经完成,下一步就可以进行远程连接了。

看完本文有收获?请转发分享给更多的人

Python爬虫与数据挖掘

入群请在微信后台回复【入群】