zoukankan      html  css  js  c++  java
  • Python爬虫学习——获取网页

    通过GET请求获取返回的网页,其中加入了User-agent信息,不然会抛出"HTTP Error 403: Forbidden"异常

    因为有些网站为了防止这种没有User-agent信息的访问,会验证请求信息中的UserAgent(它的信息包括硬件平台、系统软件应用软件和用户个人偏好),如果UserAgent存在异常或者是不存在,那么这次请求将会被拒绝。

    #coding=utf-8
    import urllib2
    import re
    
    #使用Python2.7
    def getHtml(url,user_agent="wswp",num_retries=2):		#下载网页,如果下载失败重新下载两次
    	print '开始下载网页:',url
    	headers = {"User-agent":user_agent}
    #	headers = {
    #   'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; rv:24.0) Gecko/20100101 Firefox/24.0',
    #   'cookie': cookie
    #	}
    	request = urllib2.Request(url,headers=headers)
    	try:
    	    html = urllib2.urlopen(request).read()			#GET请求
    	except urllib2.URLError as e:
    		print "下载失败:",e.reason
    		html = None
    		if num_retries > 0:
    			if hasattr(e,'code') and 500 <= e.code < 600:
    				return getHtml(url,num_retries-1)
    	return html
    
    if __name__ == '__main__':
    	html = getHtml("http://www.baidu.com")
    	print html
    	print "结束"
    

     

    ... 

  • 相关阅读:
    Python 类和对象
    Python zxing 库解析(条形码二维码识别)
    MFC&Halcon之实时视频监控
    MFC&Halcon之图片显示
    Halcon11与VS2010联合开发
    堆排序程序中的小于等于号问题
    cenos7 u disk install
    UML类图关系表示
    socket http1
    mfc http
  • 原文地址:https://www.cnblogs.com/tonglin0325/p/6278991.html
Copyright © 2011-2022 走看看