快乐的小萌新 发表于 2022-3-2 10:04

利用Python selenium 来获取jd

selenium + python自动化测试环境搭建
selenium是一个web的自动化测试工具
搭建平台windows 准备工具如下:
下载pythonhttps://www.python.org/
window安装步骤:   


1、下载python安装。  
https://www.python.org/downloads/进入选择需要的的Python版本
选择了版本后,下拉到最下面

根据自己的操作系统32/64 位,选择相应的版本。安装过程我就没必要描述,我的安装目录为:C:\Program Files\Python
2、进入cmd(windows命令提示符)下面输入"python"命令。      
应该安装的时,有一个添加到path的选项(如果提示python不是内部或外部命令!别急,去配置一下环境变量吧)

修改我的电脑->属性->高级->环境变量->系统变量中的PATH为:变量名:PATH变量值:;C:\Program Files\Python;C:\Program Files\Python\Scripts;
3、安装selenium
3.1、通过pip 安装C:\Users\14467>python3 -m pip install selenium
3.2、通过下载包安装或者直接下载selenium包:https://pypi.python.org/pypi/selenium解压,cmd进入目录:C:\Users\14467> python3 setup.py install
4、 下载安装geckodriver
下载地址:https://github.com/mozilla/geckodriver/releases
下载自己所需的版本


下载完成后,解压,将geckodriver.exe放置在与python3.exe相同的路径下:
https://img-blog.csdn.net/20170831201954152?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvRmxvcmFDSFk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
注意: 这里之所以将geckodriver.exe与Python3.exe放置在相同路径下,是因为python3.exe在系统的环境变量中的Path中有配置:【D:\Program Files\Python36\】。如果不放置到相同路径,需要自己在Path中配置环境变量,路径为geckodriver所在路径。
获取CK的代码
from selenium import webdriver
from selenium.webdriver.common.by import By
import time
import json

#选择火狐浏览器,这个位置可以改的
options = webdriver.FirefoxOptions()
#设置user-agent
options.set_preference("general.useragent.override","jdapp;android;10.0.6;11;9363537336739353-2636733333439346;network/wifi;model/KB2000;addressid/138121554;aid/9657c795bc73349d;oaid/;osVer/30;appBuild/88852;partner/oppo;eufv/1;jdSupportDarkMode/0;Mozilla/5.0 (Linux; Android 11; KB2000 Build/RP1A.201005.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045537 Mobile Safari/537.36")
browser = webdriver.Firefox(options=options)

browser.set_window_size(400,800)
browser.get("https://plogin.m.jd.com/login/login")

# 第一种方法,延迟60秒后才输出
# time.sleep(60)
#
# cookies = browser.get_cookies()
# pt_key = ''
# pt_pin = ''
# print(cookies)
# for cookie in cookies:
#   if(cookie["name"]=="pt_pin"):
#         pt_pin = cookie['value']
#   if (cookie["name"] == "pt_key"):
#         pt_key = cookie['value']
# print("pt_pin="+pt_pin+";"+"pt_key="+pt_key+";")

# 第二种方法,当url变成手机京东主页了就可以使用了
while True:
    url = browser.current_url
    if(url == "https://m.jd.com/"):
      cookies = browser.get_cookies()
      pt_key = ''
      pt_pin = ''
      for cookie in cookies:
            if (cookie["name"] == "pt_pin"):
                pt_pin = cookie['value']
            if (cookie["name"] == "pt_key"):
                pt_key = cookie['value']
      print("pt_key=" + pt_key + ";"+"pt_pin=" + pt_pin + ";")
      break






Xw丶小威 发表于 2022-3-2 10:21

试试playwright,能录制操作,挺方便。

zucker 发表于 2022-3-2 17:06

快乐的小萌新 发表于 2022-3-2 13:06
这个我确实没考虑到,下次详细点,这个有点python的基础的应该晓得如何处理

而且手动登录了不如就原浏览器登录,装个取ck的插件,比你这样快

快乐的小萌新 发表于 2022-3-2 10:06

排版乱了,大家轻点喷{:1_923:}

zucker 发表于 2022-3-2 10:14

京东不检测才怪

slbcmgn 发表于 2022-3-2 10:15

和老师们学习学习

快乐的小萌新 发表于 2022-3-2 10:53

Xw丶小威 发表于 2022-3-2 10:21
试试playwright,能录制操作,挺方便。

这些都简单,文字就可以了

快乐的小萌新 发表于 2022-3-2 10:54

zucker 发表于 2022-3-2 10:14
京东不检测才怪

这个不检测啊,这个就是网页登录的啊

Sekios 发表于 2022-3-2 10:55

来学习下

13232929610 发表于 2022-3-2 11:31

学习一下,了解一下

zucker 发表于 2022-3-2 12:24

快乐的小萌新 发表于 2022-3-2 10:54
这个不检测啊,这个就是网页登录的啊

你这个脚本获取ck,要登录,就是手动登录,你没写登录的办法
页: [1] 2
查看完整版本: 利用Python selenium 来获取jd