模拟登录有如下几种方式,本文通过法二进行登录
方法一:直接使用已知的cookie访问
方法二:模拟登录后再携带得到的cookie访问
方法三:模拟登录后用session保持登录状态
方法四:使用无头浏览器访问
用自己的账号登录微信公众平台
获取cookie和userAgent(chrome)
这里以登录微信公众平台为例:
使用浏览器开发工具获取cookie和userAgent
使用request进行登录
import sys
import io
import request
from bs4 import BeautifulSoup
def get_html(url):
headers = {'User-agent':'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36'
}
cookie_str = r'yourcookie'
cookies = {}
for line in cookie_str.split(';'):
key, value = line.split('=',1)
cookies[key]=value
response=requests.get(url, headers = headers, cookies = cookies) #请求访问网站
html = response.text #获取网页源码
return html #返回网页源码
soup = BeautifulSoup(get_html('https://mp.weixin.qq.com/cgi-bin/appmsg?t=media/appmsg_edit&action=edit&type=10&isMul=1&isNew=1&lang=zh_CN&token=896485145'), 'lxml') #初始化BeautifulSoup库,并设置解析器
#print(get_html('https://www.jianshu.com/'))
print(soup.title)
//<title>微信公众平台</title>
注:Python 3.5.2