python3爬虫,最短时间实现(一)

来源:互联网 发布:怎样在爱淘宝发布宝贝 编辑:程序博客网 时间:2024/06/05 05:24

引言:自学python已经一年有余,起初是因为兴趣,能方便的做一些事情,比如爬虫之类的,而后由于上课的实验也可以用python解决,遂仔细学习python多时。遗憾的是,至今未能做出成型的东西,趁此机会对python3爬虫进行完整学习。
1:关于python2与python3的差别用多说。
关于python3,取消了python2中的urllib2模块,与urllib一并在python3合成的urilib包,内含error,parse,request reponse,robotparser模块,注意区别。
2:关于爬虫,目前我应该先解决关于一个页面的问题,后面再进行多个页面的讨论。


Begin:
一:用python抓取指定页面


关于python3里:
1::字符就是unicode字符,字符串就是unicode字符数组
2:str转bytes叫encode,bytes转str叫decode


代码如下:


## -*- coding: utf-8 -*-


import urllib.request  


#百度女神吧首页
url = 'http://tieba.baidu.com/f?ie=utf-8&kw=%E5%A5%B3%E7%A5%9E&fr=search'  
temp_data = urllib.request.urlopen(url).read()
data = temp_data.decode('utf-8')
print(data)

#(代码亲测以通过)






关于temp.data.decode('utf-8')一句,取决于该url所用的编码,若是gbk,则相应的改成gbk,否则会报错。


二:简单处理url




# -*- coding: utf-8 -*-


import urllib.request
import urllib 


data = {}
data['word'] = 'python'
url_values = urllib.parse.urlencode(data)
url = 'http://www.baidu.com/s?'+url_values
temp_data = urllib.request.urlopen(url).read()
print(url_values)
print(temp_data)
#代码亲测以通过


注:urlencode函数将data字典转换为word=python的字符串,合成url,改Utemp_data为百度搜索python的返回数据。

0 0