Python 爬虫之模拟登陆CSND[转]
工具
基本的脚本语言是Python,虽然不敢说是最好的语言,至少是最好的之一(0.0),用模拟登陆,我们需要用到多个模块,如下:
1、requests 2、BeautifulSoup
requests
安装
下载源码安装
git clone git://github.com/kennethreitz/requests.git cd requests pip install .
pip
pip install requests
BeautifulSoup
介绍
Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beautiful Soup会帮你节省数小时甚至数天的工作时间.
安装
easy_install beautifulsoup4
pip install beautifulsoup4
使用
from bs4 import BeautifulSoup soup = BeautifulSoup(open("index.html")) soup = BeautifulSoup("data", 'lxml')
说明
requests主要是为了利用requests的高级会话机制,requests的会话对象可以让我们跨请求保持某些参数,比如cookies, headers等
会话对象让你能够跨请求保持某些参数。它也会在同一个 Session 实例发出的所有请求之间保持 cookie, 期间使用 urllib3 的 connection pooling 功能。所以如果你向同一主机发送多个请求,底层的 TCP 连接将会被重用,从而带来显著的性能提升
而BeautifulSoup主要是方便解析HTML源码,从中获取请求需要的一些参数
完整代码
# -*- coding: UTF-8 -*- from bs4 import BeautifulSoup import requests s = requests.Session() class CSDN: def __init__(self, username, password): self.username = username self.password = password self.login_url = 'https://passport.csdn.net/account/login' self.headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebK' 'it/537.36 (KHTML, like Gecko) Chrome/61.0.3163.1' '00 Safari/537.36 OPR/48.0.2685.52', 'Referer': 'http://my.csdn.net/my/mycsdn' } def login(self): params = { 'from': 'http://my.csdn.net/my/mycsdn' } html = s.get(self.login_url, params=params, headers=self.headers) soup = BeautifulSoup(html.content, 'lxml') lt = soup.select('input[name="lt"]')[0].get('value') execution = soup.select('input[name="execution"]')[0].get('value') event_id = soup.select('input[name="_eventId"]')[0].get('value') data = { 'username': self.username, 'password': self.password, 'rememberMe': 'true', 'lt': lt, 'execution': execution, '_eventId': event_id } r = s.post(self.login_url, data=data) self.headers['Referer'] = 'http://passport.csdn.net/account/login?from=http%3A%2F%2Fmy.csdn.net%2Fmy%2Fmycsdn' resp = s.get('http://my.csdn.net/my/mycsdn', headers=self.headers) print(resp.text) username = input('请输入账号:') password = input('请输入密码:') cs = CSDN(username, password) cs.login()
原文链接:https://segmentfault.com/a/1190000012013734

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Mysql 增量备份脚本 innobackupex 增量备份 mysql自动备份
Mysql 增量备份脚本 1 线上环境有时候考虑到需要做增量备份数据库,所以写了个简单的脚本 2添加自动任务每小时或者更短时间执行就好了 #!/bin/sh #author RuM #date 2015-07-10 BAKDIR=/tmp/mysqlbak BAKDIR_FULL=$BAKDIR/full BAKDIR_ADD=$BAKDIR/add CONF=/etc/my.cnf PASSWD=123456 INNOBACKUPEX=/usr/bin/innobackupex #第一次执行会做一次全备跟增备,以后执行都会是增量备份 if [ -f "$INNOBACKUPEX" ] then if [ -d "$BAKDIR" ] then echo "is ok" else mkdir $BAKDIR_FULL -p mkdir $BAKDIR_ADD -p fi ####全备 files=`ls $BAKDIR_FULL` if [ -z "$files" ] then $INNOBACKUPEX --defaults-file=$CONF --user...
- 下一篇
3行Python代码完成人脸识别
Face Recognition软件包 这是世界上最简单的人脸识别库了。你可以通过Python引用或者命令行的形式使用它,来管理和识别人脸。 该软件包使用dlib中最先进的人脸识别深度学习算法,使得识别准确率在《Labled Faces in the world》测试基准下达到了99.38%。 它同时提供了一个叫face_recognition的命令行工具,以便你可以用命令行对一个文件夹中的图片进行识别操作。 特性 在图片中识别人脸 找到图片中所有的人脸 找到并操作图片中的脸部特征 获得图片中人类眼睛、鼻子、嘴、下巴的位置和轮廓 找到脸部特征有很多超级有用的应用场景,当然你也可以把它用在最显而易见的功能上:美颜功能(就像美图秀秀那样)。 鉴定图片中的脸 识别图片中的人是谁。 你甚至可以用这个软件包做人脸的实时识别。 这里有一个实时识别的例子: https://github.com/ageitgey/face_recognition/blob/master/examples/facerec_from_webcam_faster.py 安装 环境要求 Python3.3+或者Python2...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- 2048小游戏-低调大师作品
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题