爬虫===登陆CSDN的方法
本文主要介绍csdn的登陆,可应用在爬虫上~
# -*- coding:utf-8 -*- import json
import requestsfrom xlutils.copy import copy
from bs4 import BeautifulSoup
session = requests.session()
url = 'https://passport.csdn.net/account/login?from=http://my.csdn.net/my/mycsdn' def get_post_headers():
return {
'Host': 'passport.csdn.net',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0',
'Accept-Encoding': 'gzip, deflate, br',
'Accept-Language': 'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3',
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Connection': 'keep-alive',
'Referer': 'http://www.csdn.net/'
} def get_post_data():
'''登陆参数'''
username = "你的账号"
password = "你的密码" # 提取lt, execution, _eventId (这几个参数是必须的)
login_page = session.get(url, headers=get_post_headers()).text
soup = BeautifulSoup(login_page, 'html.parser') lt = soup.find(attrs={'name': 'lt'})['value'] execution = soup.find(attrs={'name': 'execution'})['value'] submit = soup.find(attrs={'name': '_eventId'})['value'] return dict(username =username,password = password, lt = lt,execution = execution, _eventId = submit ) def login(post_data):
session.post(url ,data = post_data, headers = get_post_headers())
return session if __name__ == '__main__': session = login(get_post_data())
home_page = 'http://my.csdn.net/my/mycsdn'
# 这里headers不能用前面那个,因为Host等参数发生改变了,否则会出现500状态码
headers = {
'Host': 'my.csdn.net',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0',
'Upgrade-Insecure-Requests': '',
'Accept': 'Accept'
}
resp = session.get(home_page, headers=headers)
#print(resp.text) r = session.get(url = "http://mp.blog.csdn.net/postedit")
print(r.text)
soup_write = BeautifulSoup(r.text, 'html5lib')
#检查是否正的进入了编写文章的界面
title = soup_write.find(attrs={'id': 'txtTitle'})['placeholder']
print(title)
爬虫===登陆CSDN的方法的更多相关文章
- 模拟登陆CSDN——就是这么简单
工具介绍 本篇文章主要是解说怎样模拟登陆CSDN.使用的工具是HttpClient+Jsoup 当中HttpClient主要是负责发送请求,而Jsoup主要是解析HTML 你可能对HttpClient ...
- python模拟登陆豆瓣——简单方法
学爬虫有一段时间了,前面没有总结又重装了系统,导致之前的代码和思考都没了..所以还是要及时整理总结备份.下面记录我模拟登陆豆瓣的方法,方法一登上了豆瓣,方法二重定向到了豆瓣中“我的喜欢”列表,获取了第 ...
- win10 uwp httpClient 登陆CSDN
本文告诉大家如何模拟登陆csdn,这个方法可以用于模拟登陆其他网站. HttpClient 使用 Cookie 我们可以使用下面代码让 HttpClient 使用 Cookie ,有了这个才可以保存登 ...
- Win2008远程多用户登陆的配置方法 另附详细设置: Windows server 2008 R2实现多用户远程连接
Win2008远程多用户登陆的配置方法 在使用Windows 2008远程登录功能时,如果需要进行多用户登录,可以采用以下配置方法: 首先要启用远程桌面这一功能:右击“我的电脑”→ 属性 → ...
- Linux自动登陆的设置方法
前些天为了实现Linux自动登陆的方法,在网上查了很多资料,发现有不少方法,但网上有些方法的讲解不是特别清楚,或者已经过时.因此,特意整理了一下Linux自动登陆的设置方法.本文的测试环境为Cento ...
- Python爬虫编程常见问题解决方法
Python爬虫编程常见问题解决方法: 1.通用的解决方案: [按住Ctrl键不送松],同时用鼠标点击[方法名],查看文档 2.TypeError: POST data should be bytes ...
- 02_使用WebMagic爬虫获取CSDN推荐专家的个人博客信息
本来是想抓取博客园的博客推荐的页面的,但由于一些博客进去的页面格式都不太相同,一时不想花时间去寻找规律,发现CSDN上面的格式较为单一,就决定以CSDN推荐专家的个人博客信息作为爬虫抓取的目标. [首 ...
- python爬虫数据抓取方法汇总
概要:利用python进行web数据抓取方法和实现. 1.python进行网页数据抓取有两种方式:一种是直接依据url链接来拼接使用get方法得到内容,一种是构建post请求改变对应参数来获得web返 ...
- (最新)使用爬虫刷CSDN博客访问量——亲测有效
说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 1.概述 前言:前两天刚写了第一篇博客https://blog.csdn.net/qq_41782425/article/deta ...
随机推荐
- HtmlHelper扩展实例
namespace System.Web.Mvc{ public static class MyHttpHelperExt { public static string MyLabel( ...
- CentOS LVM逻辑卷管理
在CentOS 挂载(U盘NTFS格式,新硬盘,增加交换分区,扩展根分区等)中扩展根分区部分用的就是LVM逻辑卷管理来进行扩展的. 1.为什么会有逻辑卷管理 传统磁盘管理是直接对硬盘分区进行访问,你如 ...
- Oracle 获取数据最新版本
表数据如: 以CODE 作为版本分组字段,对创建时间进行按最新排序 ID NAME CODE CREATE_TIME 1ffg abc 001 2014-01-01 1gff ...
- HDOJ(HDU).1059 Dividing(DP 多重背包+二进制优化)
HDOJ(HDU).1059 Dividing(DP 多重背包+二进制优化) 题意分析 给出一系列的石头的数量,然后问石头能否被平分成为价值相等的2份.首先可以确定的是如果石头的价值总和为奇数的话,那 ...
- 读取proc/uptime信息。
#include <stdio.h> #include<unistd.h> #include<sys/types.h> #include<sys/stat.h ...
- 二叉树中和为某一值得路径 java实现
本题来自<剑指offer> 路径为从根节点到叶节点一条路径,路径经过的各节点数值之和等于某一给定数值,则打印路径上的节点 因为需要打印满足条件的路径节点信息和各节点之和,需要栈记录经过的节 ...
- HDU3376 最小费用最大流 模板2
Matrix Again Time Limit: 5000/2000 MS (Java/Others) Memory Limit: 102400/102400 K (Java/Others)To ...
- 关于$.data(element,key,value)与ele.data.(key,value)的区别
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- Chrome控制台报错个人总结(不定时更新)
最近开始使用Chrome控制台检测代码错误,对于经常碰到的报错做一个汇总,免得每次遇到都要重新想一遍策略,错误原因,重复劳动,浪费时间. 由于不是每个错误都能碰到,以下仅列出个人写代码时经常碰到的报错 ...
- iBATIS事务处理
一:问题 最近发现了我们自己的项目的事务的处理根本就是行不通的,也因此我自己又去看了下有关事务的处理,算是有了个大致的了解吧,先说说我们最初的配置吧. 二:内容 (1):使用iBatis的事务管理 S ...