微博抓页面PYTHON代码模板

微博抓页面PYTHON代码模板,其他需要COOKIE登录抓页面的网站,用这个模板,改改也能用。

#!/usr/bin/python
# -*- coding: utf-8 -*-
#encoding=utf-8
#Filename:webo.py
  
import urllib2
import sys
import gzip
import chardet
import httplib    
import StringIO, gzip  

#gzip解码函数
def gzdecode(data) :  
    compressedstream = StringIO.StringIO(data)  
    gziper = gzip.GzipFile(fileobj=compressedstream)    
    data2 = gziper.read()   # 读取解压缩后数据   
    return data2 
	
#访问地址-自设
url= "http://weibo.com/**自写地址**"
#发送报头-自设,用firebug之类的工具看微博请求用到header信息,对号抄写到下面
send_headers = {
"Host": "weibo.com",
"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0",
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
"Accept-Language": "zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3",
"Accept-Encoding": "gzip, deflate",
"Cookie": "微博帐号登录后才有的,Cookie值,很长一段的那个",
"Connection": "keep-alive",
"Upgrade-Insecure-Requests": "1"
}
  
req = urllib2.Request(url,headers=send_headers)
r = urllib2.urlopen(req)

print r.getcode() #返回200表示成功

html = r.read()        #返回网页内容
receive_header = r.info()     #返回的报头信息

type = sys.getfilesystemencoding()
html = gzdecode(html).decode('UTF-8').encode(type)#转码

#print receive_header #显示响应头信息

#输出保存到文件里
fileHandle = open('d:\test.txt','a')
fileHandle.write(html)
fileHandle.close() 

#print html #显示抓取的网页源码


访客评论

暂无评论
发表评论
当前字数:0
评论内容限制在250字以内,提交后经管理员审核后发布。
提交评论