Python网页抓取学习

Python网页相关的库有httplib,httplib2,urllib,urllib2,cookielib,urlparse等等,实在多啊~~~作为初学者,完全搞清楚直接的区别真不容易啊~~

关于httplib,3.x已经将httplib拆解整合到不同的模块,httplib本身已经没有了‘,这里就不使用httplib了

urllib2 Get网页内容

import urllib2

url='http://www.baidu.com'
req=urllib2.Request(url);
response=urllib2.urlopen(req);
page=response.read()
print page

urllib2获取cookie代码

import urllib2
import cookielib

url='http://www.baidu.com';
cookie=cookielib.CookieJar()
opener=urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie))
response=opener.open(url)
for item in cookie:
	print item.name
	print item.value
#print response.read() #获取网页内容

有的网站如果请求头未设置的话,可能拿不到cookie或者cookie无效,在获取cookie的同时设置header

opener.addheads=[('User-Agent','Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36')]

———————2014/10/29 分割线———————–

获取http返回码,对于 200 OK 来说,只要使用 urlopen 返回的 response 对象的 getcode() 方法就可以得到 HTTP 的返回码。但对其它返回码来说,urlopen 会抛出异常。这时候,就要检查异常对象的 code 属性了:

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

import urllib2

try:
	url='http://windgreen.me'
	req=urllib2.Request(url);
	response=urllib2.urlopen(req);
	print response.getcode()
except urllib2.HTTPError, e:
	print e.code

将url中的.me改为.com返回码是403

发表评论

电子邮件地址不会被公开。 必填项已用*标注