您现在的位置是:首页 > 学习记录 > python学习之路

python爬取遇到“当前页面不存在”怎么处理?过滤不存在页面的python方法

2021-09-13【python学习之路】 144人已围观

简介今天在学习python第8天的课程,学习的是python的字典,python的字典用dict来定义,也可以使用{}来定义,一个键对应一个值,也叫键值对。键对属于可哈希类型,也就是键不可变,值属于可变类型,以上属于对今天的小小的总结。今天把for循环重新看了一遍然后自己写个小爬虫,爬取的一个网站,然后按照课程上教的,是能整出来,但是由于网站的网址本身,会有一...


今天在学习python第8天的课程,学习的是python的字典,python的字典用dict来定义,也可以使用{}来定义,一个键对应一个值,也叫键值对。键对属于可哈希类型,也就是键不可变,值属于可变类型,以上属于对今天的小小的总结。

今天把for循环重新看了一遍然后自己写个小爬虫,爬取的一个网站,然后按照课程上教的,是能整出来,但是由于网站的网址本身,会有一些不存在的页面,这些不存在的页面怎么去除,跳过去继续爬取下一个页面。课程中并未教到怎么去除不存在页面,我在想了想之后,用了if判断和continue来过滤掉了不存在页面。

下面说一下过滤不存在页面的思路:

假如说爬取到的页面的元数据都存在html这个变量里面。

在所有的不存在页面,都会有个提示“当前页面不存在”

所以,我首先把这串字符串赋值给一个变量n,然后使用if判断,如果在html变量中如果包含n变量,则continue

跳出当前循环并继续爬取下一个页面。

大概写法如下

for n in range(1,100):

    url = f"http://www.***.com/{n}.html"

    这里是若干的爬取内容的语句

    html = reponse.text

    n = '<title>当前页面不存在</title>'  #把页面的唯一标识赋给一个变量

    if n in html:    #判断当前页面是否包含n这个唯一标识

        continue      #如果条件为真,说明存在,不继续执行本次循环,继续下一轮循环,用continue

下面接着就还是循环里面的语句。


刚开始学习Python的第8天,每天学习几个小时,比较笨,学的慢,现在还在学基础的关于字典、元组这些类型,还不太能分清楚。以上内容是我现在在遇到不存在页面的解决办法,以后可能会有别的更好的解决办法,将继续更新。欢迎关注“赵德瑞个人网站”,内容原创,转载请注明出处。


很赞哦! (0)

上一篇:python下载第三方安装包失败,用镜像地址安装

下一篇:已经是最后一篇

文章评论

共0条评论
  • 这篇文章还没有收到评论,赶紧来抢沙发吧~

站点信息

  • 建站时间:2019-07-10
  • 网站程序YzmCMS
  • 邮箱:982481365@qq.com
  • QQ号:982481365
  • 微信号:zdrgzs
  • 微信二维码:扫描二维码,关注我们