总结下,Python 下载网页的几种方法

1

fd=urllib2.urlopen(url_link)

data=fd.read()

这是最简洁的一种,当然也是Get的方法

2

通过GET的方法

def GetHtmlSource(url):

try:

htmSource = ''

req = urllib2.Request(url)

fd = urllib2.urlopen(req,"")

while 1:

data = fd.read(1024)

if not len(data):

break

htmSource += data

fd.close()

del fd

del req

htmSource = htmSource.decode('cp936')

htmSource = formatStr(htmSource)

return htmSource

except socket.error, err:

str_err =  "%s" % err

return ""

3

通过GET的方法

def GetHtmlSource_Get(htmurl):

htmSource = ""

try:

urlx = httplib.urlsplit(htmurl)

conn = httplib.HTTPConnection(urlx.netloc)

conn.connect()

conn.putrequest("GET", htmurl, None)

conn.putheader("Content-Length", 0)

conn.putheader("Connection", "close")

conn.endheaders()

res = conn.getresponse()

htmSource = res.read()

except Exception(), err:

trackback.print_exec()

conn.close()

return htmSource

通过POST的方法

def GetHtmlSource_Post(getString):

htmSource = ""

try:

url = httplib.urlsplit("http://app.sipo.gov.cn:8080")

conn = httplib.HTTPConnection(url.netloc)

conn.connect()

conn.putrequest("POST", "/sipo/zljs/hyjs-jieguo.jsp")

conn.putheader("Content-Length", len(getString))

conn.putheader("Content-Type", "application/x-www-form-urlencoded")

conn.putheader("Connection", " Keep-Alive")

conn.endheaders()

conn.send(getString)

f = conn.getresponse()

if not f:

raise socket.error, "timed out"

htmSource = f.read()

f.close()

conn.close()                 return htmSource            except Exception(), err:                trackback.print_exec()        conn.close()                    return htmSource

python下载网页方法_Python 下载网页的几种方法相关推荐

  1. python字符串成熟编码_python字符串转公式两种方法获取网页编码python版

    在web开发的时候我们经常会遇到网页抓取和分析,各种语言都可以完成这个功能.我喜欢用python实现,因为python提供了很多成熟的模块,可以很方便的实现网页抓取. 但是在抓取过程中会遇到编码的问题 ...

  2. python怎么复制字符串_python字符串复制的几种方法

    >>> list1 = [1,2] >>> id(list1) 50081032 >>> list2 = list1.copy() >> ...

  3. python安装gdal包_python安装gdal的两种方法

    1.不用手动下载文件,直接执行以下命令即可 conda install gdal 2.首先,下载gdal的whl文件  链接, 官网下载比较慢,GDAL-2.2.4-cp27-cp27m-win_am ...

  4. python包导入方式_python导包的几种方法(自定义包的生成以及导入详解)

    python 导入数据包的几种方法 1.直接导入整个数据包:improt 数据包 2.导入数据包中的某一个函数: from 数据包 improt 函数(当函数这一项为 * 时为导入整个数据包) 3. ...

  5. python如何删除代码_Python列表删除的三种方法代码分享

    1.使用del语句删除元素 >>> i1 = ["a",'b','c','d'] >>> del i1[0] >>> prin ...

  6. python里的拼接_Python拼接字符串的7种方法总结

    前言 忘了在哪看到一位编程大牛调侃,他说程序员每天就做两件事,其中之一就是处理字符串.相信不少同学会有同感. 在Python中,我们经常会遇到字符串的拼接问题,几乎任何一种编程语言,都把字符串列为最基 ...

  7. python 求组合数最快方法_python求二项式系数的几种方法及性能对比

    最近研究了python求二项式系数的几种方法,对比了一下他们的速度 1. 利用阶乘简洁求 #普通阶乘 def fact(n): if n == 0: return 1 else: return n*f ...

  8. python向上取整的方法_python 取整的两种方法,python向上取整的方法,问题简介:  要把一...

    python 取整的两种方法,python向上取整的方法,问题简介: 要把一 问题简介: 要把一个浮点数(float)整数部分提取出来.比如把"2.1"变成"2" ...

  9. python导入模块方法_Python导入模块的3种方法(非常详细)

    许多初学者经常遇到这样的问题: 自定义Python模板后,在其他文件中使用带有import(或从... import)语句导入文件时,Python解释器还会出现以下错误: ModuleNotFound ...

  10. python安装模块方法_Python安装模块的几种方法

    一.方法1: 单文件模块 直接把文件拷贝到 $python_dir/Lib 二.方法2: 多文件模块,带setup.py 下载模块包,进行解压,进入模块文件夹,执行: python setup.py ...

最新文章

  1. MATH6005 Final Assignment MATH6005 2018-19
  2. 16.Hadoop架构再探讨第2部分
  3. ICML 2020 | 第四范式基于AutoML的深度网络记忆性自动化挖掘
  4. 匈牙利算法java实现_匈牙利算法(Hungarian Algorithm)
  5. client copy sap论坛上看到的
  6. notepad++以16进制查看文件
  7. Linux下Elasticsearch-2.4.0的安装与简单配置(单节点)Head插件安装(已测试)
  8. 可视化——matplotlib常用api(一)
  9. 20200216_re数据处理
  10. 【紫书第七章】暴力美学(能用暴力解决的事情为什么要动脑子?)
  11. 【语音去噪】基音matlab GUI音频信号去噪【含Matlab源码 1386期】
  12. Struts 2.0 入门
  13. Python3中的md5加密
  14. SVN代码回滚到执行版本
  15. javaSE之多线程vip插队
  16. 关于学习的三个认知升级
  17. 二进制与八进制、十进制、十六进制之间的转换
  18. 微机原理——8086系统的概述与引脚介绍
  19. 赛迪研究报告:《2019Micro LED显示研究报告》(可免费下载)
  20. 1.windows11开启wsl2并安装Ubuntu 20.04

热门文章

  1. 常用的java包_java的常用包
  2. mt65xx android phone win10驱动,mt65xx android phone驱动
  3. java传智播客答案_传智播客_java基础入门习题答案.docx
  4. 使用paddlepaddle 进行人脸识别
  5. 推荐一个免费申请ssl数字证书的地方
  6. 安装openguass数据库配套工具Data Studio
  7. android o 可下载字体,android自定义字体
  8. CAD迷你看图 for Mac(MiniCAD)
  9. Eclipse官网下载java开发安装包
  10. Java程序开发过程