现在用scrapy爬一个网站始终遇到521错误,是怎么回事

现在用scrapy爬一个网站始终遇到521错误,是怎么回事,第1张

问题描述:如下图所示我们看到的,提示网站还原错误,<br />原因分析:这往往是浏览器加载项造成的<br />简易步骤:IE—工具—管理加载项,逐个关闭加载项排查。<br />解决方案:1 点击开始—所有程序—附件—系统工具—internet explorer(无加载项),这样你就可以打开ie了,你也可以右键单价IE的图标,在右键菜单中,选择无加载项启动。但是并不是所有的电脑都有这个选项。(如图1)图1<br />2 在打开的IE中,我们可以看到一个这样的页面,在标签栏下面有一个提示消息:当前正在禁用加载项……,右键点击这个提示消息,选择管理加载项,有的浏览器没有提示这个消息,我们用下面的方法打开加载项管理(如图2)图2<br />3 如果你的浏览器没有菜单栏,可以先调出菜单栏,如图所示在空白的位置右键单击,然后选择菜单栏(如图3)图3<br /><br />4 打开菜单栏后,在工具菜单下,点击管理加载项,这样也可以打开管理加载项。(如图4)图4<br /><br />5 在管理加载项面板中,你可以在这里看到很多加载项,先按下ctrl+a,选中所有的加载项,然后右键单击选择全部禁用(如图5)图5<br /><br />6 禁用了加载项以后,我们正常启动IE,不要以上面提到的无加载项的方式启动浏览器。只要双击打开浏览器就可以了。同样的方法:在菜单栏上执行,工具--管理加载项,打开加载项管理器,然后右键单击第一个加载项,选择开启,这样就启用了这个加载项。其中了第一个加载项以后,我们就关闭浏览器,重启浏览器看是否出现网络还原错误(如图6)图6<br /><br />7 如果仍然没有提示错误,我们接着启用第二个加载项,重启启动浏览器,看看是否出现网络还原错误。以此类推,我们逐一启动加载项,直到找到那个出现问题的加载项,比如下面我启动了百度工具的加载项以后,ie重启发生了网络还原错误,先关闭ie。(如图7)图7<br /><br />8 和上面提到的方法一样,点击开始—程序—附件—系统工具—IE(如图8)图8<br /><br />9 打开IE以后,菜单栏上执行执行:工具--管理加载项。找到产生错误的加载项,右键单击,然后选择禁用,启用其他的加载项。这样问题就最终解决了。(如图9)图9

BeautifulSoup 306之前:改名为BeautifulSouppy,放到和你Python文件同目录下即可;

BeautifulSoup 306之后:需要安装BeautifulSoup后才可使用。

下图显示了Scrapy的大体架构,其中包含了它的主要组件及系统的数据处理流程(绿色箭头所示)。

Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据(on quick-turnaround screen scraping projects)。

Beautiful Soup提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不需要多少代码就可以写出一个完整的应用程序。

Beautiful Soup自动将输入文档转换为Unicode编码,输出文档转换为utf-8编码。你不需要考虑编码方式,除非文档没有指定一个编码方式,这时,Beautiful Soup就不能自动识别编码方式了。然后,你仅仅需要说明一下原始编码方式就可以了。

Beautiful Soup已成为和lxml、html6lib一样出色的python解释器,为用户灵活地提供不同的解析策略或强劲的速度。

你可以根据日志查一下,看看程序再抓哪些页面的时候死了,再分析一下为什么死。有些网站为了防止爬虫会采取一些措施,比如给你设计一个链接,你打开这个链接后跳到另一个页面,这个页面上还有一个链接,又链接到原来的页面,如果处理不好爬虫就在这死了。还有就是有些跳转会对爬虫有些干扰。其他的话有可能有些网站为了防止爬虫,直接返回403也有可能。

具体原因不清楚,但是你可以采取一些措施来避免。

比如你可以设计一个像硬件看门狗电路一样的程序,正常情况下,每隔一段时间就“喂狗”,当程序假死后,狗饿了,就会回来“咬你一口”,其实就是让程序复位啦。

你这种情况可以先在scrapy

shell尝试加验证,

因为程序有些时候复杂了,我们对错误的源头容易找错!

一般在浏览器里面没有一开始重定向,那么scrapy中也不会!

发网络爬虫应该选择Nutch、Crawler4j、WebMagic、scrapy、WebCollector其按照我经验随便扯淡:面说爬虫基本3类:1布式爬虫:Nutch

2JAVA单机爬虫:Crawler4j、WebMagic、WebCollector

3 非JAVA单机爬虫:scrapy

第类:布式爬虫

爬虫使用布式主要解决两问题:

1)海量URL管理

2)网速

现比较流行布式爬虫ApacheNutch于数用户说Nutch几类爬虫选择理由:

1)Nutch搜索引擎设计爬虫数用户需要做精准数据爬取(精抽取)爬虫Nutch运行套流程三二搜索引擎设计精抽取没太意义说用Nutch做数据抽取浪费间必要计算且试图通Nutch进行二发使适用于精抽取业务基本要破坏Nutch框架Nutch改面目全非修改Nutch能力真自重新写布式爬虫框架

2)Nutch依赖hadoop运行hadoop本身消耗间集群机器数量较少爬取速度反单机爬虫快

3)Nutch虽套插件机制且作亮点宣传看些源Nutch插件提供精抽取功能发Nutch插件都知道Nutch插件系统蹩脚利用反射机制加载调用插件使程序编写调试都变异困难更别说面发套复杂精抽取系统且Nutch并没精抽取提供相应插件挂载点Nutch插件五六挂载点五六挂载点都搜索引擎服务并没精抽取提供挂载点数Nutch精抽取插件都挂载页面解析(parser)挂载点挂载点其实解析链接(续爬取提供URL)及搜索引擎提供些易抽取网页信息(网页meta信息、text文本)

4)用Nutch进行爬虫二发爬虫编写调试所需间往往单机爬虫所需十倍间止解Nutch源码习本高何况要让团队都读懂Nutch源码调试程现除程序本身外各种问题(hadoop问题、hbase问题)

5)说Nutch2gora持久化数据avro文件、hbase、mysql等其实理解错说持久化数据指URL信息(URL管理所需要数据)存放avro、hbase、mysql并要抽取结构化数据其实数说URL信息存哪所谓

6)Nutch2版本目前并适合发官现稳定Nutch版本nutch221版本绑定gora-03想用hbase配合nutch(数用nutch2用hbase)能使用090版本左右hbase相应要hadoop版本降hadoop 02左右且nutch2官教程比较误导作用Nutch2教程两别Nutch1xNutch2xNutch2x官网写支持hbase 094实际Nutch2x意思Nutch23前、Nutch221版本版本官SVN断更新且非稳定(直修改)

所要做搜索引擎尽量要选择Nutch作爬虫些团队喜欢跟风非要选择Nutch发精抽取爬虫其实冲着Nutch名气(Nutch作者Doug Cutting)结往往项目延期完

要做搜索引擎Nutch1x非选择Nutch1xsolr或者es配合构套非强搜索引擎非要用Nutch2建议等Nutch23发布再看目前Nutch2非稳定版本

第二类:JAVA单机爬虫

JAVA爬虫单独类JAVA网络爬虫块态圈非完善相关资料全能争议我随便扯淡

其实源网络爬虫(框架)发非简单难问题复杂问题都前解决(比DOM树解析定位、字符集检测、海量URL重)说毫技术含量包括Nutch其实Nutch技术难点发hadoop本身代码非简单网络爬虫某种意义说类似遍历本机文件查找文件信息没任何难度言所选择源爬虫框架省事比爬虫URL管理、线程池类模块谁都能做要做稳定需要段间调试修改

于爬虫功能说用户比较关问题往往:

1)爬虫支持线程、爬虫能用代理、爬虫爬取重复数据、爬虫能爬取JS信息

支持线程、支持代理、能滤重复URL都叫源爬虫叫循环执行>

一般打开你的QQ安装目录下,找到showip文件,双击,里面的 *** 作过程就一目了然了,每次的升级文件约为35M左右,平均5天升一次级,会更新大量IP,在您使用QQ的过程中会更加准确的显示对方的地址。当然也可以从绿色软件站、华军软件园中下载后解压到安装目录中就行了,当然要注意说明,有可能需要改文件名,注意就行了,很简单。

以上就是关于现在用scrapy爬一个网站始终遇到521错误,是怎么回事全部的内容,包括:现在用scrapy爬一个网站始终遇到521错误,是怎么回事、采集框架scrapy和beautifulsoup该选哪个、scrapy爬虫,不到一个小时就假死了怎么回事等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10079072.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存