Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2136673
  • 博文数量: 103
  • 博客积分: 206
  • 博客等级: 入伍新兵
  • 技术积分: 1819
  • 用 户 组: 普通用户
  • 注册时间: 2012-09-12 10:24
个人简介

效字当先,以质为本。

文章分类
文章存档

2019年(2)

2018年(4)

2017年(7)

2016年(3)

2015年(14)

2014年(33)

2013年(31)

2012年(9)

分类: Python/Ruby

2017-04-21 11:10:38

#获取html内容

点击(此处)折叠或打开

  1. #coding=utf8
  2. import socket
  3. import time
  4. import urllib2
  5. import os,sys
    import json
    socket.setdefaulttimeout(60)    ----设置socket超时时间,60s
  6. def getData(base_url, query=""):
  7.     req_header = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) \
  8.             Chrome/39.0.2171.71 Safari/537.36', 'Content-Type': 'application/x-www-form-urlencoded'}
  9.     req_timeout = 3    ---使用urllib2库本身自带的超时参数,一般情况下接口设置为3s,网页抓取设置为5s
  10.     url = ""
  11.     if query:
  12.         url = base_url + "&kw=" + urllib2.quote(query)
  13.     else:
  14.         url = base_url
  15.     print url
  16.     req = urllib2.Request(url, None, req_header)
  17.     # print req
  18.     retryTime = 3
  19.     return_dict = {}
  20.     while retryTime > 0:
  21.         try:
  22.             doc = urllib2.urlopen(req, None, timeout=req_timeout).read()
  23.             return json.loads(doc)
  24.         except Exception, e:
  25.             if retryTime == 1:
  26.                 # logger.error(str(e)+', url:'+url)


  27.                 print 'reTryTime:',retryTime,'\n\n'
  28.                 retryTime -= 1
  29.     return return_dict


阅读(2903) | 评论(2) | 转发(0) |
给主人留下些什么吧!~~

dsy8510092017-05-10 11:43:22

aishiyue:学习了,谢谢分享

文明上网,理性发言...

回复 | 举报

aishiyue2017-05-10 10:59:51

学习了,谢谢分享