python模拟登陆篇——requests & urllib2方式 &有图片验证码情况

本文介绍了使用Python的requests库和urllib2库进行模拟登录的方法,包括在处理验证码的情况下如何进行操作。首先,通过requests库爬取公司信息并模拟登录CSDN博客,利用Session保持cookie。接着,使用urllib2库分别模拟登录拉勾网和豆瓣网,其中豆瓣网的登录涉及手动输入验证码的步骤。
摘要由CSDN通过智能技术生成

(一)基于python的requests库,模拟登陆

1  爬取公司信息,不用保持cookie的情况,代码如下:

# -*- coding: utf-8 -*-
import requests
import requests
import re
import MySQLdb
import mysql.connector
import MySQLdb as mdb

Conn = MySQLdb.connect(user='wenrui', passwd='wenrui', host='localhost', db='companydata', charset="utf8")
cur = Conn.cursor()
cur.execute(
    "CREATE TABLE CompanyData(name VARCHAR(70),realnam VARCHAR(20),phone VARCHAR(20),mail VARCHAR(20),Bigaddress varchar(10),Smladdress varchar(70))")
Conn.commit()


class Company:
    def __init__(self):
        self.headers = {
            'User-Agent': 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6',
            'Cookie': 'Hm_lvt_3ac4a19eb5f266a8046f9f5b29c52a00=1447818297; Hm_lpvt_3ac4a19eb5f266a8046f9f5b29c52a00=1447818297; so=296ef4827c1eabe98da0650c74e0bc7e; vr_1447818247=296ef4827c1eabe98da0650c74e0bc7e; un=2af45194a1467fca68d2ab4b6b0c083a58ebf139; zh_CN=zh_CN; PLAY_SESSION="74b2f9223df0e04bd8d69cc881072bb46fce9e63-userId=418920"' #直接把cookie写入请求头即可
        }
        self.rname = ur'target="_blank">( .*?)</a>'
        self.rrealname = ur'联系人:(.{1,6})&'  # 匹配联系人:后面任意一个1-4次,遇到&后结束
        self.rphone = r'<label id=".*?">(.*?)</label>'
        self.rmail = ur'href="mailto.*>(.*?)</a>'
        self.raddress = ur"<font color='red'>(.*?)</font>(.*?)</p>"
        # self.raddress=ur'地.*址:(.*)'

    def getPage(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值