zoukankan      html  css  js  c++  java
  • 爬虫错误笔记

    1.当出现一连串print,假如前面print出来后面print不出,而后面print出来前面print不出来时,很有可能是中间的print环节出错了(而第二次注释前面的print把它注释掉啦~),这时候要测试它的错误时(因为之前有用try,except:break把它们包住),所以只要把except 改成except Erroe,e: print error break来测试错误在哪,最后就可以找出错误的原因并进行改正就可以了。

    2.假如要通过大循环里的一个小环节为空(比如最终的request_url为空)来使程序跳出整个循环,代码可如下:
    if not request_url:
    break
    即可跳出整个循环。


    问题3:当碰到网站要翻页抓取网址的时候,在网页源代码找不到终止页面的时候,如何进行翻页而不报错。

    解决方案:将翻页部分的代码放到一个死循环里,当翻页翻到终止页面的下一页时,由于抓取不到任何东西,此时网页报错,跳出当前循环(“exceptbreak”),问题解决完毕。


    问题3:用正则表达式将一段字符串匹配下来时,还想匹配该字符串的中间部分。

    解决方案:此时可用re.complie方法,先设置根据该字符串设置一个pattern,再用re.compliegroup()方法得到字符串的中间部分,问题解决完毕。


    问题5:当把印度尼西亚语的日期截取下来时,如何将此日期转成所需格式(即如:如何将'Isnin, 11 Julai 2016'转成‘2016-07-11’?)

    'Isnin, 11 Julai 2016'抓取下来后,令pub_time= 'Isnin, 11 Julai 2016',代码如下:

    mons = {…...,'Julai':'07',......}

    pub_time = pub_time.strip','

    pub_time = pub_time[1].strip' '

    year = pub_time[2]

    day = pub_time[0]

    mon = mons(pub_time[1])

    pub_time = year + '-' +mon + '-' + day

    即可将外文日期格式转化成'%y- mon + '%m-%d'

  • 相关阅读:
    Qt生成随机数
    Qt调用系统DLL,判断网络连接状态
    Qt操作sqlite数据库
    Qt 操作注册表
    vs报错:RC1004 unexpected end of file found
    Qt操作ini文件
    Django Admin:自动选择当前用户
    BSTR转QString
    vue-cli4,vue3打包后页面无内容
    Qt 5.12.10 国际化
  • 原文地址:https://www.cnblogs.com/flippedkiki/p/5707882.html
Copyright © 2011-2022 走看看