无聊写的,请大家多多指教,这里有个编码问题,输出不了中文,周末竟玩了,没功夫研究,谁能帮我解答一下最好了
最终想法是输出我的好友关系网,但是现在只是简单的把所有好友的id姓名和访问人气输出了,有空再弄
#-*-coding:utf-8 -*-
import urllib2
import urllib
import cookielib
import BeautifulSoup
from BeautifulSoup import BeautifulSoup
import re
import os
#登录
def login(name,pwd):
#cookie
cj = cookielib.LWPCookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
urllib2.install_opener(opener)
#post参数
args={'domain':'renren.com','origURL':'http://www.renren.com/SysHome.do',
'email':name,'password'wd
}
req = urllib2.Request('http://www.renren.com/PLogin.do',urllib.urlencode(args))
response = opener.open(req)
url = response.geturl()
print name + ' login success!' + '\n'
#返回登录后的url
return url
def get_friend_list():
#读取人人网好友页面
page=urllib2.urlopen('http://friend.renren.com/myfriendlistx.do').read()
#分析页面
soup = BeautifulSoup(page)
#找到script标签
content = soup.findAll('script')
#正则匹配出好友的id和姓名存进friendId
friend = str(re.search('friends=\[{.*}\]',str(content[len(content)-1])).group())
friendId = re.findall('"id".*?),.*?,"name":"(.*?)"',friend)
#建立好友主页的连接,存进friendUrlList
friendUrlList=[]
for person in friendId:
friendUrlList.append('http://www.renren.com/' + person[0])
#创建个文件,用于存输出结果
f = open('C:/Users/Xu_shuai/Desktop/aaa.txt','a')
#遍历所有的好友
for i in range(len(friendUrlList)):
#打开好友主页
home = urllib2.urlopen(friendUrlList[i]).read()
#测试一个人用
#home = urllib2.urlopen('http://www.renren.com/248208276')
soupHome = BeautifulSoup(home)
count = soupHome.find('span',attrs={'class':'count'})
if count is not None:
#为了对付人人新出的一个什么时间轴的东西
#正则匹配出好友的人气
countRes = re.findall('[0-9]+',str(count))[0]
else:
count = soupHome.find('div',attrs={'class':'clearfix'})
countRes = re.findall('[0-9]+',str(count))[1]
#将好友的Id姓名(编码有问题,输出的是个码,还没搞对啊)和人气输出,并存入文件
f.write(str(friendId[i]) + '------------' +str(countRes) +'\n')
print str(friendId[i]) + '------------' +str(countRes) +'\n'
f.close()
if __name__ == "__main__":
#参数为用户名和密码
login('*****','*****')
get_friend_list()