r2r

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

   python有2和3两个版本, 3比较新, 听说改动大. 根据我在知乎上搜集的观点来看, 我还是倾向于使用”在趋势中将会越来越火”的版本, 而非”目前已经很稳定而且很成熟”的版本. 这是个人喜好, 而且预测不一定准确. 但是如果Python3无法像Python2那么火, 那么整个Python语言就不可避免的随着时间的推移越来越落后, 因此我想其实选哪个的最坏风险都一样, 但是最好回报却是Python3的大. 其实两者区别也可以说大也可以说不大, 最终都不是什么大问题. 我选择的是Python 3。

代码实现(一): 用Python抓取指定页面

我使用的编辑器是Idle, 安装好Python3后这个编辑器也安装好了, 小巧轻便, 按一个F5就能运行并显示结果. 代码如下:

#encoding:UTF-8
import urllib.request

url = "http://www.baidu.com"
data = urllib.request.urlopen(url).read()
data = data.decode('UTF-8')
print(data)

 

代码实现(二): 用Python简单处理URL

如果要抓取百度上面搜索关键词为Jecvay Notes的网页, 则代码如下

import urllib
import urllib.request

data={}
data['word']='Jecvay Notes'

url_values=urllib.parse.urlencode(data)
url="http://www.baidu.com/s?"
full_url=url+url_values

data=urllib.request.urlopen(full_url).read()
data=data.decode('UTF-8')
print(data)

data是一个字典, 然后通过urllib.parse.urlencode()来将data转换为 ‘word=Jecvay+Notes’的字符串, 最后和url合并为full_url, 其余和上面那个最简单的例子相同. 关于urlencode(), 同样通过官方文档学习一下他是干什么的. 通过查看

  1. urllib.parse.urlencode(query, doseq=False, safe=”, encoding=None, errors=None)
  2. urllib.parse.quote_plus(string, safe=”, encoding=None, errors=None)

大概知道他是把一个通俗的字符串, 转化为url格式的字符串.

  

posted on 2017-07-06 10:00  r2r  阅读(113)  评论(0)    收藏  举报