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

简介: 人人网登录成功#! /usr/bin/env python# coding:utf-8import sysimport reimport urllib2import urllibimport requestsimport 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()

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

这里写图片描述

目录
相关文章
|
16天前
|
数据采集 Python
【python】爬虫-西安医学院-校长信箱
本文以西安医学院-校长信箱为基础来展示爬虫案例。来介绍python爬虫。
【python】爬虫-西安医学院-校长信箱
|
1月前
|
数据采集 Python
爬虫实战-Python爬取百度当天热搜内容
爬虫实战-Python爬取百度当天热搜内容
68 0
|
1月前
|
数据采集 存储 XML
深入浅出:基于Python的网络数据爬虫开发指南
【2月更文挑战第23天】 在数字时代,数据已成为新的石油。企业和个人都寻求通过各种手段获取互联网上的宝贵信息。本文将深入探讨网络爬虫的构建与优化,一种自动化工具,用于从网页上抓取并提取大量数据。我们将重点介绍Python语言中的相关库和技术,以及如何高效、合法地收集网络数据。文章不仅为初学者提供入门指导,也为有经验的开发者提供进阶技巧,确保读者能够在遵守网络伦理和法规的前提下,充分利用网络数据资源。
|
1月前
|
数据采集 测试技术 API
python爬虫之Appium 的使用
搭建appium环境,appium基本使用,API操作等等
45 0
|
1月前
|
数据采集 JSON 数据格式
python爬虫之app爬取-charles的使用
charles 基本原理,charles抓包,分析,重发。
53 0
|
1月前
|
数据采集 存储 NoSQL
Python爬虫Cookies 池的搭建
python爬虫Cookie池架构,实现
50 0
|
22天前
|
数据采集 安全 Python
python并发编程:Python实现生产者消费者爬虫
python并发编程:Python实现生产者消费者爬虫
24 0
python并发编程:Python实现生产者消费者爬虫
|
1月前
|
数据采集 数据挖掘 调度
异步爬虫实践攻略:利用Python Aiohttp框架实现高效数据抓取
本文介绍了如何使用Python的Aiohttp框架构建异步爬虫,以提升数据抓取效率。异步爬虫利用异步IO和协程技术,在等待响应时执行其他任务,提高效率。Aiohttp是一个高效的异步HTTP客户端/服务器框架,适合构建此类爬虫。文中还展示了如何通过代理访问HTTPS网页的示例代码,并以爬取微信公众号文章为例,说明了实际应用中的步骤。
|
1月前
|
数据采集 测试技术 API
python爬虫之app爬取-微信朋友圈
搭建appium环境,appium基本使用,API操作等等
77 0
|
2天前
|
数据采集 存储 JSON
Python爬虫面试:requests、BeautifulSoup与Scrapy详解
【4月更文挑战第19天】本文聚焦于Python爬虫面试中的核心库——requests、BeautifulSoup和Scrapy。讲解了它们的常见问题、易错点及应对策略。对于requests,强调了异常处理、代理设置和请求重试;BeautifulSoup部分提到选择器使用、动态内容处理和解析效率优化;而Scrapy则关注项目架构、数据存储和分布式爬虫。通过实例代码,帮助读者深化理解并提升面试表现。
11 0