一天一学,一天一记

今天解决了程序卡住不动的问题:
通过设置urllib2.urlopen(url,None,time_out)中time_out的值,来排除连接超时的错误。

time_out = X
try:
  data ={'':''} #data为递交表单
  req = urllib2.Request(url,data)
  res = urllib2.urlopen(req,None,time_out)
except:
  print 'connect again!'
  main()

并且深入学习了 BeautifulSoup这个模块的使用,解决了乱码,学会了筛选多重标签提取元素的方法。

如果想要查找属性值未知的标签,

  比如这样<tag attr ="XXX">

  可以这样写,用True来代替所有未知或者变化的属性值

  

soup.find(name = "tag",attrs={"attr":True})

并且,在beautifulsoup里也可以嵌入正则表达式:

  比如遇到这样的标签:

<div class ="icon">
          <h1 class = "h11ello">hello world 123</h1>
          <h1 class = "h12ello">hello world 456</h1>
          <h1 class = "h13ello">hello world 789</h1>
</div>

  我们就可以:

list = soup.findAll(name = "h1" ,
        attrs = {"class":re.compile(r"h(\d+)ello")})        

  这样就可以获得到:

        hello  world 123

        hello  world 456 

        hello  world 789

转载于:https://www.cnblogs.com/huangxiaohen/p/3399491.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值