python模拟登陆 pixiv
#
#---author:wuhao
#
#在QQ群看到有群友在模拟登陆 pivix.cn 这个网站,闲来无事,我也写了一个测试一下,起初我把它想的复杂了,认为我需要获取服务器返回过来的Set-Cookie,然后传给我post的
地址,在这废了很大功夫,毕竟在模拟注册YY是踩过这个坑,后来才发现根本没这么复杂,这是一个入门型的模拟登陆,连post的数据都没加密。下面是代码
import urllib.request
import urllib.parse
import http.cookiejar
import re BASE_URL="https://www.pixiv.net/"
ToGetKeyURL="https://accounts.pixiv.net/login?lang=zh&source=pc&view_type=page&ref=wwwtop_accounts_index"
postURL="https://accounts.pixiv.net/api/login?lang=zh" Agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36"
Origin="https://accounts.pixiv.net"
Referer="https://accounts.pixiv.net/login?lang=zh&source=pc&view_type=page&ref=wwwtop_accounts_index"
Host="accounts.pixiv.net"
#定义自己的opener
def MyOpener():
cookie=http.cookiejar.CookieJar()
cookieHandle=urllib.request.HTTPCookieProcessor(cookie)
opener=urllib.request.build_opener(cookieHandle) header = \
{
"User-Agent": Agent,
"Origin": Origin,
"Referer": Referer,
"Host": Host
} head = [] for key, value in header.items():
head.append((key, value)) opener.addheaders = head
return opener
#获取需要post的数据postkey
def getpostKey(opener,url):
postKey=""
content=opener.open(url).read().decode("utf-8")
postkey=re.findall(r"<input.+?name=\"post_key\".+?>",content)[0].split(" ")[3].split("\"")[1]
print(postkey)
return postkey
#模拟登陆
def postData(opener):
getInfo=getpostKey(opener, ToGetKeyURL)
post_data=\
{
"pixiv_id":"2857791258@qq.com",
"password":"54shuaige",
#"captcha":"",
#"g_recaptcha_response":"",
"post_key":getInfo,
#"source":"pc",
#"ref":"wwwtop_accounts_index",
#"return_to":"https://www.pixiv.net/",
}
post_data=urllib.parse.urlencode(post_data,"utf-8")
print(post_data.encode("utf-8"))
if opener.open(postURL,post_data.encode("utf-8")).getcode()==200:
print("Login Successfully")
return True
else:
print("Login failed")
return False
# main()主函数进行对定义的函数调用 if __name__=="__main__":
opener=MyOpener()
if postData(opener):
print(opener.open("https://www.pixiv.net/member.php?id=24357167").read().decode("utf-8"))
python模拟登陆 pixiv的更多相关文章
- Python模拟登陆新浪微博
上篇介绍了新浪微博的登陆过程,这节使用Python编写一个模拟登陆的程序.讲解与程序如下: 1.主函数(WeiboMain.py): import urllib2 import cookielib i ...
- Python模拟登陆万能法-微博|知乎
Python模拟登陆让不少人伤透脑筋,今天奉上一种万能登陆方法.你无须精通HTML,甚至也无须精通Python,但却能让你成功的进行模拟登陆.本文讲的是登陆所有网站的一种方法,并不局限于微博与知乎,仅 ...
- Python模拟登陆TAPD
因为在wiki中未找到需要的数据,查询也很迷,打算用python登录tapd抓取所需项目下的wiki数据,方便查找. 2018-9-30 19:12:44 几步走 模拟登录tapd 抓取wiki页左侧 ...
- Python模拟登陆淘宝并统计淘宝消费情况的代码实例分享
Python模拟登陆淘宝并统计淘宝消费情况的代码实例分享 支付宝十年账单上的数字有点吓人,但它统计的项目太多,只是想看看到底单纯在淘宝上支出了多少,于是写了段脚本,统计任意时间段淘宝订单的消费情况,看 ...
- python 模拟登陆,请求包含cookie信息
需求: 1.通过GET方法,访问URL地址一,传入cookie参数 2.根据地址一返回的uuid,通过POST方法,传入cooki参数 实现思路: 1.理解http的GET和POST差别 (网上有很多 ...
- python模拟登陆之下载
好长时间没有更新博客了,哈哈. 今天公司给了这么一个需求,现在我们需要去淘宝获取上一天的订单号,然后再根据订单号去另一个接口去获取订单详情,然后再给我展示到web! 中间涉及到的技术点有: 模拟登陆 ...
- 使用python模拟登陆百度
#!/usr/bin/python # -*- coding: utf- -*- """ Function: Used to demostrate how to use ...
- Python模拟登陆某网教师教育网
本文转载自看雪论坛[作者]rdsnow 不得不说,最近的 Python 蛮火的,我也稍稍了解了下,并试着用 Python 爬取网站上的数据 不过有些数据是要登陆后才能获取的,我们每年都要到某教师教育网 ...
- python模拟登陆知乎并爬取数据
一些废话 看了一眼上一篇日志的时间 已然是5个月前的事情了 不禁感叹光阴荏苒其实就是我懒 几周前心血来潮想到用爬虫爬些东西 于是先后先重写了以前写过的求绩点代码 爬了草榴贴图,妹子图网,后来想爬婚恋网 ...
随机推荐
- 搭建JSP开发环境
所谓"工欲善其事,必先利其器",要进行JSP网站开发,首先需要把整个开发环境搭建好. JSP开发运行环境 -开发工具包JDK(Java Develop Kit),即Java开发工具 ...
- JAVA基础第四组(5道题)
16.[程序16] 题目:输出9*9口诀. 1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列. package com. ...
- Java学习9——面向对象
(重点:内存分析) 类的定义 //用class关键字定义一个类 class Person { //成员变量定义 private int id; private int age = 20; //方法定义 ...
- 201521123102 《Java程序设计》第8周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容. 2. 书面作业 本次作业题集集合 1.List中指定元素的删除(题目4-1) 1.1 实验总结 在实验中,Sc ...
- 201521123052《Java程序设计》第7周学习总结
1. 本周学习总结 参考资料: XMind 2. 书面作业 1.ArrayList代码分析 1.1 解释ArrayList的contains源代码 public boolean contains(Ob ...
- 201521123025 《Java程序设计》第2周学习总结
1. 本章学习总结 一些注意: (1)在JAVA中,不加后缀的浮点数被默认为double型,如果要用float型就要在数据后加上f或F后缀,如float a=32.6f(正确);float a=32. ...
- 201521123080《Java程序设计》第1周学习总结
#1. 本周学习总结 Java开发环境,如何用记事本和eclipse进行编程. #2. 书面作业 Q1.为什么java程序可以跨平台运行?执行java程序的步骤是什么?(请用自己的语言书写) ...
- C#中if_else以及for循环的简单理解
if_else语句的语法: if(判断条件) { 执行语句 }else { 执行语句 } 判断条件位true执行if大括号的语句,false执行else大括号的语句. if_else的扩展: 连续判断 ...
- Eclipse rap 富客户端开发总结(13) :Rap/Rcp保存按钮处理方式
一.概述 在做项目的过程中,处理编辑区的保存机制的时候.发现,同样是扩展eclipse 自带的保存和全部保存按钮时候,rcp 工程下,保存按钮可以正常的灰显和可用,但是rap 的按钮就是始终呈现灰显的 ...
- Linux-hexdump命令调试event驱动—详解(13)
hexdump: 查看文件的内容,比如二进制文件中包含的某些字符串,通常用来调试驱动用 1.调试 键盘驱动 讲解 当我们insmod挂载了键盘驱动后,找到键盘驱动被放在event1设备里, 此时没有按 ...