爬虫笔记
  • 前言

    • 推荐环境
      • Pycharm
        • 执行时选择在python控制台
        • 学生优惠一年免费
      • 退出科学上网
  • 一、浏览器的使用

    • 控制台
      • 网络
        • 以东方财富网为例
      • 应用
        • 以哔哩哔哩爬取历史脚本为例
    • 元素
      • id
      • class
      • Tagname
      • Xpath
      • css
  • 二、requests的使用

    • request.get()
      • 全部数据都在网页上
        • 不需要header
          • 以百度为例
          • test001.py
            • 注意爬虫乱码的问题如何解决
              • 指定encoding
              • 通过requests.apparent_encoding指定
        • 需要header
          • test002.py
        • 需要Cookies
          • 以爬取哔哩哔哩历史为例
          • test003.py
      • 数据需要加载
        • 观察控制台
    • request.Session
      • 维持Cookies
        • test004.py
    • request.Post
      • 以东方财富网为例讲解
      • 以httpbin为例
      • test005.py
    • 文件上传
      • test006.py
  • 三、selenium的使用

    • 安装
      • pip install selenium
        • 推荐使用pycharm的Packages管理安装
      • 下载浏览器驱动
      • 设置环境变量
    • 打开网址
      • test007.py
    • 选择元素操作
      • link_text
      • id
      • class
      • tagname
      • Xpath
      • css
    • 基本操作
      • 点击
        • 回车确定
        • test009.py
      • 输入
        • 清除文本
        • test010.py
      • 获取元素信息
    • Frame切换
      id:: 62ff2f69-64c7-4656-95cd-5fd7d83b549a
      • switch_to.frame()
      • switch_to.parent_frame()
      • test011.py
    • 选项卡切换
      • current_window_handle :获取当前窗口的句柄。
      • window_handles :返回当前浏览器的所有窗口的句柄。
      • switch_to_window() :用于切换到对应的窗口。
      • test012.py
    • 其他操作
      • 右键
        • context_click(right_click)
      • 双击
        • double_click()
      • 拖拽
        • drag_and_drop(source,target) 拖拽操作,开始位置和结束位置需要被指定
        • test013.py
      • 模拟键盘操作
        • test014.py
        • send_keys()
      • 运行JavaScript脚本
        • execute_script
        • test015.py
      • 等待
        • test016.py
        • WebDriverWait(driver,60,0.5).until(expected_conditions.presence_of_element_located(name))