当前位置:首页 » 引流推广 » 正文

京豆助手,基于Python3开发的自动签到拿京豆软件-1.源码及调试过程

9518 人参与  2023年06月20日 23:09  分类 : 引流推广  评论

京东网站上,在京东会员首页,有每日签到会送京豆;在我的京东-我的京豆页,有进店签到领京豆;在我的京豆-流量加油站页,有签到领流量。我们用Python来开发写程序,实现每天自动领京豆和流量。主要用到Python,selenium模块和 BeautifulSoup模块。

一、源码

from bs4 import BeautifulSoup

from selenium import webdriver

import time

browser = webdriver.Firefox()#用火狐浏览器

browser.get('
http://vip.jd.com/home.html')#打开登录页面


browser.find_element_by_link_text('账户登录').click()


browser.find_element_by_id('loginname').send_keys('你的用户名')


browser.find_element_by_id('nloginpwd').send_keys('密码')

browser.find_element_by_xpath('//*[@id="loginsubmit"]').click()

time.sleep(1)

try:

browser.find_element_by_class_name('sign-in').click()

print('签到成功')

except:

print('不能重复签到,签到失败')

#print(
browser.current_window_handle)调试程序时查看当前的网页句柄

browser.get('http://bean.jd.com/myJingBean/list')

time.sleep(1)

#print(browser.current_window_handle)

#handles = browser.window_handles

#print(handles)

soup = BeautifulSoup(browser.page_source)

ylink =soup.find_all(class_ = 's-btn')

#print(ylink)

for link in ylink:

#print(link.get('href'))

browser.get(link.get('href'))#获得网址并直接打开

time.sleep(1)


browser.find_element_by_link_text('签到').click()

time.sleep(1)

time.sleep(1)

browser.get('http://datawallet.jd.com/profile.html')

time.sleep(1)

browser.find_element_by_class_name('btn-sign').click()

time.sleep(1)

browser.quit()

二、开发环境的搭建:

  1. 安装Python3(自行搜索安装,这里不作介绍);

  2. 安装selenium模块和 BeautifulSoup模块

selenium模块让Python直接控制浏览器,实际点击链接,填写登录信息,几乎就像是有一个人类用户在与页面交互。与Requests和BeautifulSoup相比,selenium允许你用高级的多的方式与网页交互。

安装方法:pip install selenium;

在Python中调用:from selenium import webdriver

BeautifulSoup模块的名称是bs4(表示 BeautifulSoup第4版),用于从HTML页面(网页源码)中提取信息(比正则表达式要好很多)。

安装方法:在命令行中运行pip install beautifulsoup4;

在Python中调用:from bs4 import BeautifulSoup

3.安装火狐浏览器(自行下载最新版安装),下载并配置火狐浏览器驱动 geckodriver

geckodriver的下载链接:
https://github.com/mozilla/geckodriver/releases

将下载好的geckodriver解压后,将geckodriver.exe放在安装过火狐浏览器的目录下,本机在C:\Program Files (x86)\Mozilla Firefox;

三、需求分析

第一步,打开浏览器,进入京东登录页面,自动登录;

第二步,签到页点击签到;

第三步,进店签到领京豆栏获得店铺的网址,进入相应店铺点击签到;

第四步,进入签到领流量页面,点击签到领流量。

第一步:

from bs4 import BeautifulSoup

from selenium import webdriver

import time

browser = webdriver.Firefox()#用火狐浏览器

browser.get('
http://vip.jd.com/home.html')#打开登录页面


browser.find_element_by_link_text('账户登录').click()


browser.find_element_by_id('loginname').send_keys('你的用户名')


browser.find_element_by_id('nloginpwd').send_keys('密码')

browser.find_element_by_xpath('//*[@id="loginsubmit"]').click()

第二步:

browser.find_element_by_class_name('sign-in').click()

  1. 火狐浏览器有一个功能很方便,定位页面元素,鼠标放在要定位的元素上,右键单击,选择(查看元素),即可看到相应元素的网页源码,在相应的 网页代码上右键单击-复制-Xpath项可以直接获得元素的路径。

2.selenium模块在页面中寻找元素的方法
browser.find_element_by_...;
browser.find_elements_by_...

(此处自行搜索学习)。需要注意的一点是
browser.find_elements_by_...返回的是一个列表,不能使用.click()进行点击。

第三步:

进入我的京东-我的京豆页面,browser.get('
http://bean.jd.com/myJingBean/list');

使用BeautifulSoup模块读取当前页面的网页源码,soup = BeautifulSoup(browser.page_source);

通过火狐浏览器的查看元素功能,仔细看寻找一下我们要点击进入的各个店铺的链接代码,我们发现,总共有9个店铺,在网页中的代码是9个<li>....</li>,我们的思路是从这9个<li>....</li>源码中获得店铺的链接地址,而后进入店铺页面,在店铺页面中,通过 寻找有“签到”两个字的元素进行点击(
browser.find_element_by_link_text('签到').click())。

签到后的状态

ylink =soup.find_all(class_ = 's-btn')

#print(ylink)

for link in ylink:

#print(link.get('href'))

browser.get(link.get('href'))#获得网址并直接打开

time.sleep(1)


browser.find_element_by_link_text('签到').click()

time.sleep(1)

第四步:

进入我的京东-流量加油站页面,browser.get('
http://datawallet.jd.com/profile.html');

通过查看网页源代码,我们通过class name定位元素,
browser.find_element_by_class_name('btn-sign').click()。

最后退出浏览器。

本文链接:https://www.woshiqian.com/post/216357.html

百度分享获取地址:https://share.baidu.com/code
京豆为啥会自动收回  京豆助手  京东挂机平台  京豆软件  用京豆商家可以看出来吗  刷京豆软件  如何领京豆  如何多的京豆  领京豆的软件  京豆清零  京豆自动挂机  

我是钱微信/QQ:5087088

广告位、广告合作QQ:5087088

<< 上一篇 到底啦 >>

  • 评论(0)
  • 赞助本站

       

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。