python网络爬虫--selenium(6)--练习

2023-11-14

一、打开网页获取页面源码

from selenium.webdriver.chrome import webdriver

# 初始化,需要加载浏览器驱动
driver = webdriver.WebDriver(executable_path="chromedriver.exe")
url='https://www.xinpianchang.com/channel/index/sort-like?from=navigator'
driver.get(url)  # 打开网页
page_source = driver.page_source  # 获取页面源码

二、翻译

"""
    翻译系统设计
        1. 用户输入
        2. 内容翻译
        3. 翻译结果输出

"""
from time import sleep

from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.webdriver import WebDriver


def trans(word):
    # 浏览器驱动的配置信息  Chrome浏览器
    options = Options()
    # 向options中添加参数
    options.add_argument("--headless")

    # 构建WebDriver的时候 指定自己的配置信息
    driver = WebDriver(executable_path='chromedriver.exe', options=options)
    driver.get("http://fanyi.youdao.com/")
    # 根据id 查找元素
    input_element = driver.find_element_by_id("inputOriginal")
    # 向允许输入的元素中传入数据
    input_element.send_keys(word)

    sleep(3)
    # 根据id 查找元素
    result_container = driver.find_element_by_id("transTarget")
    # 根据xpath 进行元素内部查询
    result = result_container.find_element_by_xpath("./p/span")
    # 获取元素中的文本
    print(result.text)


if __name__ == '__main__':
    trans("开心")
import requests


def trans_to_en(word):
    url = "http://app.ifanyi.com.cn/translate?callback=fanyiCallback"

    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36",
        "host": "app.ifanyi.com.cn",
        "origin": "http://www.ifanyi.com.cn",
        "referer": "http://www.ifanyi.com.cn/",

    }

    data = {
        "from": "en",
        "to": "zh",
        "formart": "json",
        "type": "baidu",
        "content": word,
    }

    response = requests.post(url, data=data, headers=headers)

    result_json = response.json()

    return result_json.get("trans_result")[0].get("dst")


if __name__ == '__main__':
    print("欢迎来到我的翻译机")
    while True:
        word = input("请输入你要翻译的内容:")

        result = trans_to_en(word)

        print(result)

三、聊天机器人

import requests


def talk_with_robot(msg):

    url = "http://openapi.tuling123.com/openapi/api/v2"

    json_data = {
        "perception": {
            "inputText": {
                "text": msg
            },
        },
        "userInfo": {
            "apiKey": "46bac4e4f1dc4469a24777e888e1f69b",
            "userId": "110"
        }
    }

    response = requests.post(url, json=json_data)

    return response.json().get("results")[0].get("values").get("text")


if __name__ == '__main__':
    print("欢迎来到小P机器人")
    name = input("请给自己起个名字:")
    print("您的名字已经设置好,欢迎您%s" % name)
    while True:
        msg = input("%s:" % name)
        result = talk_with_robot(msg)
        print("小P:%s" % result)

四、登录

from selenium.webdriver.chrome.webdriver import WebDriver

url = "https://passport.xinpianchang.com/login?redirect_uri=https%3A%2F%2Fwww.xinpianchang.com%2F"

driver = WebDriver(executable_path="chromedriver.exe")

driver.get(url)

login_phone = driver.find_element_by_id("login_phone")

login_phone.send_keys("18511287795")

login_password = driver.find_element_by_id("login_password")

login_password.send_keys("Rock1204")

login_btn = driver.find_element_by_xpath("//button[contains(@class, 'ant-btn')]")

print(login_btn)

login_btn.submit()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python网络爬虫--selenium(6)--练习 的相关文章

随机推荐

  • 欧姆龙NJ系列入门

    1 指示灯 SD卡旁边有个按钮 按下按钮之后SD卡断电 并且需要取出SD卡重新安装或者断电重启 plc 才能上电 2 电源模块 电源模块和 plc 是可以分开的 这是电源模块 这是 plc NJ PA3001 NJ PD3001供电电压不一
  • useCallback和useMemo

    或许大家都明白useCallback一个这样的作用 为了性能优化 但是怎么去用它才能达到性能优化呢 因为我曾经看到过有同事 碰到点击事件就用useCallback包裹起来 但是这样真的是能优化吗 今天我们就来捋一捋 useCallback
  • Thinkphp 5.0整合支付宝即时到账最新接口,含模型验证完整实例

    今年thinkphp推出了5 0版本 相比以往版本更轻更便捷了 由于业务需要使用支付宝支付 兔子工程整合了支付宝支付接口 在此分享给各位奋战在一线的攻城狮们 希望对你们有帮助 传送门 Thinkphp 5 0版本整合微信扫码支付接口 本文所
  • c++ 拷贝构造函数中形参对象可以直接访问private变量

    恩 就酱
  • 栈的基本操作(C语言)

    本文只有代码 介绍了有关栈的基本操作 已经过调试没有很大问题 如有错误 还请批评指正 一 栈的实现和表示 pragma once define CRT SECURE NO WARNINGS include
  • StringIndexOutOfBoundsException: String index out of range: 458

    报错信息 org springframework dao TransientDataAccessResourceException Error updating database Cause java sql SQLException ja
  • Week 2 Git & Github 6: Rollback

    git revert HEAD 回退最新的一次commit 但是并不会撤销之前的commit记录 只是提交一次新的commit 将文件内容修改到上次commit之前的样子 到这里 我们已经学完了几乎所有的撤销更改的命令了 包括 git ch
  • 如何使用万用表测量二极管的阻值

    如何使用万用表测量二极管的阻值 1 测量时 选用万用表的 欧姆 挡 一般用R x100或R xlk挡 而不用Rx1或R x10k挡 因为Rxl挡的电流太大 容易烧坏二极管 R xlok挡的内电源电压太大 易击穿二极管 2 将两表棒分别接在二
  • 在MacOS下使用Fiddler抓包

    在MacOS下使用Fiddler抓包 在MacOS下使用Fiddler抓包 有两种方式 分别是安装Mac版的Fiddler 或者是用虚拟机 安装Windows系统 在Windows系统下运行Fiddler对Mac系统中的内容进行抓包 Mac
  • AES128加密算法的实现(C/Java/C#)

    最近项目中有一个需求 实现AES128的加密算法 用于硬件和平台的通信 硬件加密部分使用C语言完成 平台有两种不同的环境 java Linux 和C Windows 在网上搜集了一些资料 有人实现过纯C代码的AES加密解密算法 这样实际上有
  • Java 新特性 UpdateWrapper-(修改指定字段)

    UpdateWrapper的使用 UpdateWrapper的使用 修改指定id的名字 可在后增加条件 常用的连接条件 UpdateWrapper的使用 QueryWrapperLambdaQueryWrapper 条件查询 修改指定id的
  • 在 WebStorm 中开发 uni-app

    代码已上传至github github代码地址 https github com Miofly mio git CLI 工程 全局安装 vue cli 3 x 如已安装请跳过此步骤 npm install g vue cli 通过 CLI
  • JavaScript 常见鼠标事件

    常见鼠标事件类型1 1 click鼠标左键点击 2 mousedown 鼠标按下时触发 3 mouseup 鼠标弹起时触发 4 mousemove move移动 鼠标在固定的位置一移动就触发移动 就触发 5 mouseenter 鼠标移入触
  • Qt 识别 DM 码

    Qt 识别 DM 码 下载libdmtx 添加源码到Qt 工程 生成一维码 二维码 识别普通二维码网上库很多 这个库专门识别 DM码 下载libdmtx https github com dmtx libdmtx 添加源码到Qt 工程 li
  • 前程无忧guid、acw_sc__v2

    文章目录 声明 目标网站 acw sc v2分析 python调用测试 话外拓展 风控浅析 往期逆向文章推荐 声明 本文章中所有内容仅供学习交流 严禁用于商业用途和非法用途 否则由此产生的一切后果均与作者无关 若有侵权 请私信我立即删除 目
  • 新型智能优化算法——海鸥优化算法(基于Matlab代码实现)

    目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码 1 概述 2019 年 Dhiman G等人提出了一种受自然界海鸥启发的新颖全局优化算法 海鸥优化算法 Seagull Optimization Algorithm SOA
  • 攻防世界RE练习

    攻防世界 一开始学习下re 产生了兴趣 game 这个题目在某个CTF平台做过了0 0 再做一遍 跟着WP 0 0 首先用ExeinfoPe或者Peid查壳 也可以使用file命令查看相关信息 32位程序 使用ida打开 F5反编译 程序逻
  • Blender基础操作:面操作细分、整体切分、挤出、内插、尖分、融并、切割、面的法向、填充等

    目录 1 面操作 进入 面选择 模式 选择一个面 2 面的挤出 3 内插面 4 尖分面 5 面的切割 6 面的法向normal 7 填充面 8 X Ray透视 1 面操作 进入 面选择 模式 选择一个面 4种操作手段 菜单 工具 右键菜单
  • WireShark_过滤语法

    WireShark 过滤语法 过滤IP 如来源IP或者目标IP等于某个IP 例子 ip src eq 192 168 1 107 or ip dst eq 192 168 1 107 或者 ip addr eq 192 168 1 107
  • python网络爬虫--selenium(6)--练习

    一 打开网页获取页面源码 from selenium webdriver chrome import webdriver 初始化 需要加载浏览器驱动 driver webdriver WebDriver executable path ch