qq空间或者人人网的爬虫方法

爬取自己的QQ空间 

import urllib.parse
import urllib.request
from http import cookiejar
import ssl

ssl._create_default_https_context = ssl._create_unverified_context

#通过cookieJar()类构建一个cookieJar()对象,用来保存cookie的值

cookie = cookiejar.CookieJar()

#通过HTTPCookieProcessor()处理器类构建一个处理器对象,用来处理cookie
#参数就是构建的CookieJar()对象
cookie_handler = urllib.request.HTTPCookieProcessor(cookie)

#构建一个自定义的opener
opener = urllib.request.build_opener(cookie_handler)

#通过自定义opener的addheaders的参数,可以添加HTTP报头参数
opener.addhandlers = [("User-Agent", "Opera/9.80 (Windows NT 6.1; U; zh-cn) Presto/2.9.168 Version/11.50")]
#人人网的登陆接口
url = "https://user.qzone.qq.com/"
#需要登陆的账户密码
data = {"email" : "[email protected]", "password":"chen562352353"}
#通过URL encode()编码转换
data =urllib.parse.urlencode(data).encode("gbk")

request = urllib.request.Request(url,data=data)

response = opener.open(request)

print(response.read().decode("utf-8"))

爬取别人的QQ空间 
import urllib.parse
import urllib.request
from http import cookiejar
import ssl

ssl._create_default_https_context = ssl._create_unverified_context

#通过cookieJar()类构建一个cookieJar()对象,用来保存cookie的值

cookie = cookiejar.CookieJar()

#通过HTTPCookieProcessor()处理器类构建一个处理器对象,用来处理cookie
#参数就是构建的CookieJar()对象
cookie_handler = urllib.request.HTTPCookieProcessor(cookie)

#构建一个自定义的opener
opener = urllib.request.build_opener(cookie_handler)

#通过自定义opener的addheaders的参数,可以添加HTTP报头参数
opener.addhandlers = [("User-Agent", "Opera/9.80 (Windows NT 6.1; U; zh-cn) Presto/2.9.168 Version/11.50")]
#人人网的登陆接口
url = "https://user.qzone.qq.com/"
#需要登陆的账户密码
data = {"email" : "[email protected]", "password":"chen562352353"}
#通过URL encode()编码转换
data =urllib.parse.urlencode(data).encode("gbk")

#第一次是post请求,发送登陆需要的参数,获取cookie
request = urllib.request.Request(url,data=data)
#发送第一次的post请求,生成登陆后的cookie(如果登陆成功的话)
response = opener.open(request)


#print(response.read().decode("utf-8"))
#第二次可以是get请求,这个请求将保存生成cookie一并发到web服务器,服务器会验证cookie通过
response_haoyou = opener.open("https://user.qzone.qq.com/156994867")
#获取登陆后才能访问的页面信息
print(response_haoyou.read().decode("utf-8"))
 

你可能感兴趣的:(爬虫)