修改版,实现v2ex的每日签到,原版脚本是别人的,忘了是找的谁的了。

前几日突然发现,好好的签到功能不能使用了,分析了下v2ex的源码,发现原来是网站登录的时候用户名和密码两个input的name改成自动生成的了,遂有了如下的代码:

#/usr/bin/python

# -*- coding : utf-8 -*-

from bs4 import BeautifulSoup

import requests

import os

username = 'xxx' # your v2ex username

password = 'xxx' # your v2ex password

login_url = 'https://v2ex.com/signin'

home_page = 'https://www.v2ex.com'

mission_url = 'http://www.v2ex.com/mission/daily'

UA = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.152 Safari/537.36"

headers = {

"User-Agent" : UA,

"Host" : "www.v2ex.com",

"Referer" : "https://www.v2ex.com/signin",

"Origin" : "https://www.v2ex.com"

}

v2ex_session = requests.Session()

def make_soup(url,tag,name):

page = v2ex_session.get(url,headers=headers,verify=True).text

soup = BeautifulSoup(page)

soup_result = soup.find(attrs = {tag:name})

# print soup_result

return soup_result

def getRespone(url):

return v2ex_session.get(url,headers=headers,verify=True).text

def _soup(text, tag, name):

soup = BeautifulSoup(text)

soup_result = soup.find(attrs = {tag:name})

# print soup_result

return soup_result

def _soup_all(text, tag, name):

soup = BeautifulSoup(text)

soup_result = soup.find_all(attrs = {tag:name})

# print soup_result

return soup_result

# get login parameter once_value

response = getRespone(login_url)

once_value = _soup(response,'name','once')['value']

print once_value

# get login form' user and password name

formNames = _soup_all(response,'class','sl')

# print formNames

print formNames[0]['name']

print formNames[1]['name']

post_info = {

formNames[0]['name'] : username,

formNames[1]['name'] : password,

'once' : once_value

}

resp = v2ex_session.post(login_url,data=post_info,headers=headers,verify=True)

# get final sign url

short_url = make_soup(mission_url, 'class', 'super normal button')["onclick"]

print short_url

# os._exit(0)

first_quote = short_url.find("'")

last_quote = short_url.find("'", first_quote+1) #str.find(str, beg=0 end=len(string))

final_url = home_page + short_url[first_quote+1:last_quote]

print(final_url)

# start sign

page = v2ex_session.get(final_url,headers=headers,verify=True).content

suceessful = make_soup(mission_url, 'class', 'fa fa-ok-sign')

if suceessful:

print ("Sucessful.")

else:

print ("Something wrong.")

本博客所有文章如无特别注明均为原创。以超链接形式注明转自 。

android x86 v2ex,v2ex签到脚本改进 - 就爱阅读网相关推荐

  1. 虚拟机VirtualBox安装Android x86 4.0冰激凌三明治系统

    虚拟机VirtualBox安装Android x86 4.0冰激凌三明治系统 前段时间二黑给大家介绍了 Android SDK安装Android 4.0的方法,相信很多同学也试过了.用那种方法模拟的A ...

  2. Android x86 下运行纯ARM版APP

    Android x86 默认不带houdini,运行纯ARM版会提示: 很抱歉,"xxxx"已停止运行 设置->应用兼容性->打开 终端模拟器 $ su # enabl ...

  3. android x86 sleep,如何打开Android X86对houdini的支持

    前面的文章中介绍了如何在VirtualBox虚拟机中安装Android X86.不过,安装结束后,试了几个只有ARM版.so文件的apk程序,发现都打不开.难道是新版Android X86动态将ARM ...

  4. Python 实现 T00ls 自动签到脚本(邮件+钉钉通知)

    T00ls 每日签到是可以获取 TuBi 的,由于常常忘记签到,导致损失了很多 TuBi .于是在 T00ls 论坛搜索了一下,发现有不少大佬都写了自己的签到脚本,签到功能实现.定时任务执行以及签到提 ...

  5. Android x86的arm兼容库移植--初步分析及尝试手动移植houdini/ndk_translation

    适用于x86架构的安卓5.0以上需要root,或者离线改文件,但并非全部适用:本文仅为个人经验,未涵盖的地方需要自行探索. 手动移植Android x86的arm兼容库(houdini/ndk_tra ...

  6. Android x86 4.4-r1 PC正式版发布

    Android-x86可以看作是PC版Android,实现了将Android系统到x86平台的移植.日前,Android-x86 4.4 r1正式发布,这是Android-x86 4.4首个稳定版,感 ...

  7. android x86引导修复,Android-x86 9.0-r2 发布,更新内核与UEFI引导修复

    2月底发布的是早该发布的Android-x86 9.0的稳定版本,该版本在9.0 "Pie"Android开源项目state plus的基础上重新构建了以Intel/AMD为核心的 ...

  8. arm linux运行安卓app,Android x86 下运行纯ARM版APP

    Android x86 默认不带houdini,运行纯ARM版会提示: 很抱歉,"xxxx"已停止运行 设置->应用兼容性->打开 终端模拟器 $ su # enabl ...

  9. android 6.0 x86 64,安卓x86 6.0 iso下载|android x86 6.0 iso系统下载RC1 版_64位/32位IT猫扑网...

    android x86 6.0 iso系统镜像最新发布,rc1版修复了之前的问题,android-x86 6.0-rc1(marshmallow-x86)这是android-x86 6.0的第一个候选 ...

最新文章

  1. Linux装多个apache,windows linux如何安装多个apache?
  2. 打包caddy为docker镜像
  3. mysql延时优化教程_Mysql优化之延迟索引和分页优化_MySQL
  4. Java 核心五个类(File、Outputstream、Inputstream、Reader、Writer)一个接口(Serializable)...
  5. java配置lib_Java环境配置
  6. server sql 统计信息 过时_sql-server – 何时更新统计信息?
  7. MySQL教程(十一)—— 操作数据表中的记录
  8. 玩转python网络爬虫-清华大学出版社-图书详情-《玩转Python网络爬虫》
  9. 路由器Lan、Wan短接问题
  10. CTF中PHP反序列化和命令注入的一次简单利用
  11. 在springboot中一些框架和插件的配置
  12. 测试用例设计方法-正交试验常用正交表
  13. b java 之 serviceLoader详解 serviceLoader.load(XXX.class)
  14. 安卓逆向学习 之 KGB Messenger的writeup(1)
  15. WordPress实现关注微信公众号回复关键字获取验证码查看网站隐藏内容
  16. Java1-35 Java学习笔记
  17. 七牛云刷新缓存(cdn刷新)
  18. KMS工具激活office2016报错0x80080005的解决记录
  19. 利用OPC技术实现双网冗余系统的通讯驱动
  20. 数据结构之树与二叉树

热门文章

  1. 广告有哪些方式,可以降低用户反感?
  2. 计算机存在其他连接设备错误,电脑连不上宽带,一直提示”调制解调器(或其它联接设备)报告了一个错误。“...
  3. 微信小程序画地块(微信开放文档中腾讯地图)
  4. 搭建Aqours Online Judge的琐琐碎碎(一)Presentation Error判定
  5. LIN总线:主动进气栅格系统执行器(AGS/AGM)
  6. Docker - 应用镜像
  7. Git版本控制工具的使用一
  8. python中def什么时候用_在python中解析日期而不使用defau
  9. 海尔计算机无法装win7系统,海尔自带Win10系统如何改成Win7系统?海尔台式机装win7详细步骤...
  10. ios ReplayKit RPScreenRecorder获取屏幕录制的每一帧数据startCaptureWithHandler