Python库详解之网络(1)
刚刚写完Python嵌入部分的简单例子(差不多够现在用的啦~),接着看点实际的东西,如果没有这些应用的话,前面的嵌入也没有什么意义。嵌入的其他部分以后遇到再写,不必一下子把那些函数都弄懂,是吧~
OK,来看Python库中我认为最好玩的一部分,也就是Python对网页的操作。
这篇简单说下如何通过网址下载网页,前提当然是要能上网。
我这里是将网易的网页下下来保存在test.html文件中。
下载网页只需要2行代码:
#注意现在python3.1版本与以前有了很大变化,过去代码好多不能用,需要稍微修改下哦
import urllib.request
urllib.request.urlretrieve('http://www.163.com','test.html') #你们用双引号试下,我这怎么有问题?单引号和双引号在这里有区别么?
呵呵,不是觉得太简单了点,但我还是比较喜欢下面代码多点的实现方式(我没有添加异常,如果是稍微正式点的编码,请添些处理异常的代码吧):
import urllib
import urllib.request
url=urllib.request.urlopen("http://www.163.com")
file=open("test.html",'wb') #it's 'wb',not 'w'
while(1):
line=url.readline()
if len(line)==0:
break
file.write(line)
呵呵,现在是不是感觉下载网页真没意思~
OK,下篇说下如何解析我们下载下来的网页,这样下下来的网页才有用嘛~ ^_^
相关文档:
验证是否已经安装了MySQLdb:
==========================================================
d:\usr\local\Python25>python
Python 2.5.4 (r254:67916, Dec 23 2008, 15:10:54) [MSC v.1310 32 bit (Intel)] onwin32
Type "help", "copyright", "credits" or "license" for ......
python string和PyQt的QString的区别 以下在Python2.6和PyQt4.4.4 for
Python2,6环境下讨论: Python中有两种有关字符的类型:Python string object和Python Unicode
object。主要使用Python string object进行数据输入输出。 PyQt中与之相对应的字符有关类
python string和PyQt的QString的区别
以下在Python2.6和PyQt4 ......
filename=raw_input('enter file name:')
f=open(filename,'rb')
f.seek(0,0)
index=0
for i in range(0,16):
print "%3s" % hex(i) ,
print
for i in range(0,16):
print "%-3s" % "#" ,
print
while True:
temp=f.read(1)
if len(temp) == 0:
break
else:
print "%3s" % temp.encode('hex'),
......
ZoundryDocument
Python skin is known for its color variations and for its elasticity; it is
the warmest leather of the season and ideal for the manufacture of many luxury
goods. Sometimes natural patterns can be hidden when they're done in black, but
the finish here has a bit of a shine to it ......
昨天试了下用HTMLParser类来解析网页,可发现结果并不理想。不管怎么说,先写下过程,希望后来人能在此基础上解决我所遇到的问题。
写了2套解决方案,当然这2套只能对特定网站有效。我这里主要说明下对BBC主页www.bbc.co.uk和对网易www.163.com的解析。
对于BBC:
这套要简单得多,可能是该网页的编码比较标准吧
import ......