scrapy爬取整个网页时如何避免链接失效

scrapy爬取整个网页时如何避免链接失效,第1张

最近在使用scrapy爬取网页时遇到很多不能正常显示、a标签链接失效的情况,多是因为爬下来的网页和路径已经失去了原有的结构,网页无法根据标签的src或者标签的href找到对应的资源,下面就这个问题展开一个小研究。

首先,做这个工作是一定要修改网页的,所以我们引入BeautifulSoup库对网页进行解析。

其次,在本文中 所有的网页以域名为目录名进行保存

下面我们 分情况讨论

大体上看,网页中的链接有以下几种格式:

第一种情况,链接直接以/开头,很明显是从网站的根目录开始检索,那么我们直接将该网站的存储路径加在page前即可(home_path代表当前网页在我们系统中保存的路径,包含域名):

第二种情况,链接直接以>

如果你的网站页面经常更新,爬虫就会更加频繁的访问页面,优质的内容更是爬虫喜欢抓取的目标,尤其是原创内容。

如果你做了许多努力仍没有被爬虫抓取,可以看一下老渔哥给出的两点建议:

1、不建议站点使用js生成主体内容,如过js渲染出错,很可能导致页面内容读取错误,页面则无法被爬虫抓取。

2、许多站点会针对爬虫做优化,建议页面长度在128k之内,不要过长。

对于只是读取某几个网站更新内容的爬虫完全没必要在python代码中实现增量的功能,直接在item中增加Url字段。 item['Url'] = responseurl 然后在数据端把储存url的column设置成unique。 之后在python代码中捕获数据库commit时返回的异常

以上就是关于scrapy爬取整个网页时如何避免链接失效全部的内容,包括:scrapy爬取整个网页时如何避免链接失效、关于Scrapy爬取1000张网页的问题、如何让网页被爬虫抓取等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/web/9735721.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存