最近测试时,很多时候要查后台某个用户的ID或者注册邮箱,总是需要登录到后台然后输入用户的名字进行查询,后台网页登录又特别卡或者慢,于是想着自己写一个
先看后台的网页样子 如图
上面图片可以看出,登录后 输入查询的ID 点击检索就可以进行查询 然后会展示上图的内容,我要得到各种信息,只要模拟这一系列的操作就可以获取到这个网页内容,然后爬出我想要的数据就可以了。
思路:首先要模拟登录 (发送一个post 请求),然后搜索(get请求),然后提取数据
checkLogin.py
#!/usr/bin/env python
# coding=utf-8
import urllib
import urllib2
import cookielib
import re
cookie = cookielib.MozillaCookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie))
def send_post(url, data, send_headers):
post_data = urllib.urlencode(data)
# 提交,发送数据
req = urllib2.Request(url, data=post_data, headers=send_headers)
# 获取提交后返回的信息
content = opener.open(req)
return content
def start_login(url):
login_data = {
'account': 'maple',
'password': 'xxxxxxx',
'opentab': '',
'lang_type': 'zh'
}
login_headers = { 'Authorization':'BasicaGVsbG90YWxrX3JlZG1pbmU6eWlrZUA0MTY=',
'Host': 'xxxx.xxxx.xxx',
'Content-Type': 'application/x-www-form-urlencoded',
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36',
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
'Connection': 'keep-alive',
'Origin':'http://xxxxx.xxxxx.xxx',
'Referer':'http://station3.hellotalk.org/htmall/Public/login/',
'Content-Length':'54'
}
send_post(url, login_data, login_headers)
def checkMessage(showu