selenium爬取京东评论_分布式爬虫实战

selenium爬取京东评论_分布式爬虫实战今天我们来讲一下如何通过python来实现自动登陆京东,以及签到领取金币。如何自动登陆京东?我们先来看一下京东的登陆页面,如下图所示:【插入图片,登陆页面】登陆框就是右面这一个框框了,但是目前我们遇到一个困呐,默认的登陆方式是扫码登陆,如果我们想要以用户民个、密码的形式登陆,就要切换一下。我们看一下这两种登陆方式是如何切换的,通过浏览器的元素检查,我们看一下两个标签。【插入图片,两种…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

今天我们来讲一下如何通过python来实现自动登陆京东,以及签到领取金币。

如何自动登陆京东?

我们先来看一下京东的登陆页面,如下图所示:
【插入图片,登陆页面】
993869-20171204222040722-997306639.jpg

登陆框就是右面这一个框框了,但是目前我们遇到一个困呐,默认的登陆方式是扫码登陆,如果我们想要以用户民个、密码的形式登陆,就要切换一下。
我们看一下这两种登陆方式是如何切换的,通过浏览器的元素检查,我们看一下两个标签。
【插入图片,两种登陆方式】
993869-20171204222121550-1146638960.jpg

扫码登陆和用户登陆分别在一个div标签里面,我们可以通过css选择器选定用户登陆,使其下面的a标签的class为checked,接下来的一切就比较简单了。
我们要获取到用户名输入框、密码输入框以及登陆按钮即可。
【插入图片,用户登陆框】
993869-20171204222209081-1023608090.jpg

下面看一下实现的代码,假设我们通过FireFox浏览器模拟登陆吧。

from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.common.exceptions import TimeoutException import time login_url='https://passport.jd.com/uc/login' uid='********' pwd='********' browser=webdriver.Firefox() wait=WebDriverWait(browser, 10) def login(): try: browser.get(login_url) login_tab_u=wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "div.login-tab:nth-child(3)"))) login_tab_u.click()#这里我们没有获取那个a标签,而是直接获取外层的div标签,比较简单而且方便 uid_input = wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, "#loginname"))) pwd_input=wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, "#nloginpwd"))) login_button = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "#loginsubmit"))) uid_input.send_keys(uid) pwd_input.send_keys(pwd) login_button.click() except TimeoutException: login() def main(): login() time.sleep(5) browser.close() if __name__=='__main__': main()

如何自动签到领金币?

领金币一定要登陆vip页面才可以。
vip页面的url=’https://vip.jd.com/home.html
但是要登陆vip页面的话,还是会跳转到第一步的那个登陆页面,我们利用第一步的方法登陆即可。
【插入图片,签到页面】
993869-20171204222131300-1127741009.jpg

签到的链接在右侧,我们获取到这个链接点击就行了。
【插入图片,签到链接】
993869-20171204222139128-1295412753.jpg

这个标签很简单。

vip_url='https://vip.jd.com/home.html' def user_singin(): try: browser.get(vip_url) login_tab_u=wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "div.login-tab:nth-child(3)"))) login_tab_u.click() uid_input = wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, "#loginname"))) pwd_input=wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, "#nloginpwd"))) login_button = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "#loginsubmit"))) uid_input.send_keys(uid) pwd_input.send_keys(pwd) login_button.click() sign_in_button=wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "#signIn"))) sign_in_button.click() print('您已签到成功!') except TimeoutException: user_singin()

前面的代码跟上面是一样的,只不过要获取到签到的标签。
这种登陆方式基本上可以用于任何网站,只不过做一些修改就可以了。
请大家参考。

993869-20171127210458206-1142783382.jpg

转载于:https://www.cnblogs.com/xingzhui/p/7979331.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/192346.html原文链接:https://javaforall.net

(0)
上一篇 2026年1月14日 下午1:43
下一篇 2026年1月14日 下午2:15


相关推荐

  • es6模板字符串里用html标签,为ES6模板字符串计算标签函数[通俗易懂]

    es6模板字符串里用html标签,为ES6模板字符串计算标签函数[通俗易懂]Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发。这篇博客描述了你可以通过函数为ES6模板字符串做些什么从而获取返回值。对于一篇针对模板字符串的介绍来说,标记的模板字符串和函数需要在《探索ES6》中查询模板字符串章节1.通过模板字符串获取返回值在JavaScript中获取一个值最普遍的方法就是在括号中加上参数。在ES6中,你可以通过模板字符串更多地获取返回…

    2022年8月21日
    12
  • linux pycharm卸载,ubuntu18.04中PyCharm的安装与卸载

    linux pycharm卸载,ubuntu18.04中PyCharm的安装与卸载下载 PyCharm 安装包 一 官方安装源 linux 的 PyCharm 的专业版 https www jetbrains com pycharm download download thanks html platform linuxlinux 的 PyCharm 的社区版 免费 https www jetbrains com pycharm download download thanks htm

    2026年3月27日
    2
  • ADB Shell 命令_手机adb命令大全

    ADB Shell 命令_手机adb命令大全文章目录查看前台Activity调用Activity查看正在运行的Services调用Service发送广播查看应用详细信息查看应用列表清除应用数据与缓存查看屏幕分辨率查看屏幕密度屏幕截图录制屏幕查看前台Activityadbshelldumpsysactivityactivities或者adbshelldumpsysactivitytop调用Activit…

    2022年10月18日
    5
  • SpringBoot——spring-data-jpa之分页查询

    SpringBoot——spring-data-jpa之分页查询SpringBoot——spring-data-jpa之分页查询

    2022年4月23日
    88
  • windows7/windows10 虚拟显示器部署(Virtual monitor)

    最近有些网友看了我之前的博客之后,向我要虚拟显示器的bin文件,由于之前代码是绑定在VDI下的,没有单独的虚拟显示器代码,所以抽空提取了下相关代码,单独编译。网盘:https://pan.baidu.com/s/1vdqm0Is9pjAcG40Qf_q7cw有问题加QQ3505459047咨询。总结了下网友的一些用途,这几种情况下使用虚拟显示器(显卡欺骗器功能的软件)可以解决:…

    2022年4月5日
    1.3K
  • request用法以及详解

    request用法以及详解1request 概述 request 是 Servlet service 方法的一个参数 类型为 javax servlet http HttpServletR 在客户端发出每个请求时 服务器都会创建一个 request 对象 并把请求数据封装到 request 中 然后在调用 Servlet service 方法时传递给 service 方法 这说明在 service 方法中可以通过 reque

    2026年3月17日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号