Python2 爬虫(四) -- 模拟登陆(人人网和知乎)

简介: 人人网登录成功 #! /usr/bin/env python # coding:utf-8 import sys import re import urllib2 import urllib import requests import cookielib ## 这段代码是用于解决中文报错的问题 reload(sys) sys.setdefaultencoding(
+关注继续查看

人人网登录成功

#! /usr/bin/env python
# coding:utf-8

import sys
import re
import urllib2
import urllib
import requests
import cookielib

## 这段代码是用于解决中文报错的问题
reload(sys)
sys.setdefaultencoding("utf8")
#####################################################
# 登录人人
loginurl = 'http://www.renren.com/PLogin.do'
logindomain = 'renren.com'


class Login(object):
    def __init__(self):
        self.name = ''
        self.passwprd = ''
        self.domain = ''

        self.cj = cookielib.LWPCookieJar()
        self.opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(self.cj))
        urllib2.install_opener(self.opener)

    def setLoginInfo(self, username, password, domain):
        '''设置用户登录信息'''
        self.name = username
        self.pwd = password
        self.domain = domain

    def login(self):
        '''登录网站'''
        loginparams = {'domain': self.domain, 'email': self.name, 'password': self.pwd}
        headers = {
            'User-Agent': 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.57 Safari/537.36'}
        req = urllib2.Request(loginurl, urllib.urlencode(loginparams), headers=headers)
        response = urllib2.urlopen(req)
        self.operate = self.opener.open(req)
        thePage = response.read()
        print thePage

if __name__ == '__main__':
    userlogin = Login()
    username = 'your username'
    password = 'your password'
    domain = logindomain
    userlogin.setLoginInfo(username, password, domain)
    userlogin.login()

打印出来能看到自己的id肯定就是成功了。

# encoding=utf8
import cookielib
import urllib2
import urllib
from subprocess import Popen

cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
opener.addheaders = [
    ('User-agent', 'Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Firefox/38.0 Iceweasel/38.3.0')]


def login():
    username = ''
    password = ''
    cap_url = 'https://www.zhihu.com/captcha.gif?r=1466595391805&type=login'
    cap_content = urllib2.urlopen(cap_url).read()

    with open('code.gif', 'wb') as f:
        f.write(cap_content)
    Popen('code.gif', shell=True)

    #写文件的方式获取验证码
    #cap_file = open('/cap.gif', 'wb')
    #cap_file.write(cap_content)
    #cap_file.close()
    captcha = raw_input('capture:')
    url1 = 'http://www.zhihu.com/settings/profile'
    url = 'https://www.zhihu.com/login/phone_num'
    data = urllib.urlencode({"phone_num": "********", "password": "********", "captcha": captcha})
    mydata = urllib2.urlopen(url, data).read()
    print mydata

if __name__ == "__main__":
    login()

验证码是用浏览器显示出来然后手动输入,但是我登录进去之后还是啥也没干。仅仅显示登录成功。

这里写图片描述

目录
相关文章
|
7天前
|
数据采集 数据安全/隐私保护 Python
python-爬虫-selenium总结
python-爬虫-selenium总结
python-爬虫-selenium总结
|
10天前
|
数据采集 中间件 Shell
Python爬虫深度优化:Scrapy库的高级使用和调优
在我们前面的文章中,我们探索了如何使用Scrapy库创建一个基础的爬虫,了解了如何使用选择器和Item提取数据,以及如何使用Pipelines处理数据。在本篇高级教程中,我们将深入探讨如何优化和调整Scrapy爬虫的性能,以及如何
|
15天前
|
数据采集 Python
python 爬虫 佛山区域,爬取餐厅的商户联系人公开号码,实例脚本
python 爬虫 佛山区域,爬取餐厅的商户联系人公开号码,实例脚本
|
16天前
|
数据采集 JSON 前端开发
Python爬虫进阶:使用Scrapy库进行数据提取和处理
在我们的初级教程中,我们介绍了如何使用Scrapy创建和运行一个简单的爬虫。在这篇文章中,我们将深入了解Scrapy的强大功能,学习如何使用Scrapy提取和处理数据。
|
23天前
|
数据采集 JavaScript API
Python爬虫抓取经过JS加密的API数据的实现步骤
Python爬虫抓取经过JS加密的API数据的实现步骤
|
24天前
|
数据采集 人工智能 Java
Python爬虫获取电子书资源实战
最近在学习Python,相对java来说python简单易学、语法简单,工具丰富,开箱即用,适用面广做全栈开发那是极好的,对于小型应用的开发,虽然运行效率慢点,但开发效率极高。大大提高了咱们的生产力。为什么python能够在这几年火起来,自然有他的道理,当然也受益于这几年大数据和AI的火。据说网络上80%的爬虫都是用python写的,不得不说python写爬虫真的是so easy。基本上一个不太复杂的网站可以通过python用100多行代码就能实现你所需要的爬取。
76 1
Python爬虫获取电子书资源实战
|
24天前
|
数据采集 关系型数据库 MySQL
|
24天前
|
数据采集 存储 中间件
|
24天前
|
数据采集 JavaScript 前端开发
|
24天前
|
Web App开发 数据采集 JavaScript
相关产品
云迁移中心
推荐文章
更多