• 新开课day20总结


    selenium

    在进行selenium爬取之前需要有一些准备工作,即装selenium包和下载chomedriver

    1. 这里为主要写命令装指定版本的selenium包,在terminal中如下操作:

    在这里插入图片描述

    1. 下载chomedriver

    (1)先获取当前谷歌浏览器版本信息,在谷歌浏览器中输入链接:chrome://version/

    (2)chromedriver下载地址:http://chromedriver.storage.googleapis.com/index.html

    (3)找到和当前谷歌版本对应的chromedriver,如果没有,则找和谷歌版本最近的chromedriver

    (4)下载后解压,将解压文件内容放入python的安装地址中,到此chomedriver操作结束

    使用selenium爬取数据

    1创建浏览器获取原代码

    from selenium.webdriver import Chrome
    a = Chrome()
    a.get('https://www.hao123.com/?tn=48021271_45_hao_pg')
    
    • 1
    • 2
    • 3

    2获取网页源代码

    print(a.page_source)
    
    • 1

    3关闭浏览器

    a.close()
    
    • 1

    csv文件

    1.什么是csv文件,逗号分割文件

    定义:一种后缀是.csv的文件,文件中的每一行通过逗号分割成不同的类,csv可以用exceL软件像打开excel文件-样去打开。

    csv文件的读

    reader获取文件内容,将每一-行内容作为一 个迭代器中的元素返回

    import csv
    f = open('电影.csv','r',encoding='utf-8',newline='')
    f_reader = csv.reader(f)
    for item in f_reader:
        print(item)
    
    • 1
    • 2
    • 3
    • 4
    • 5

    DictReader获取文件内容,

    import csv
    f = open('电影.csv','r',encoding='utf-8',newline='')
    f1 = csv.DictReader(f)
    for it in f1:
        print(it)
    
    • 1
    • 2
    • 3
    • 4
    • 5

    csv文件的读

    csv.writer:

    f2 = open('test.csv','w',encoding='utf-8',newline='')
    x = [
        ['张三','男','004','78','四川'],
        ['李四','男','009','87','贵州'],
        ['王五','男','002','89','美国'],
        ['赵六','男','089','90','沈阳']
    ]
    f2_write = csv.writer(f2)
    f2_write.writerows(x)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    csv.DictWriter:

    f2 = open('test.csv','w',encoding='utf-8',newline='')
    f2_write = csv.DictWriter(f2,['姓名','性别','学号','籍贯'])
    f2_write.writeheader()#加上这句话才有第一行
    f2_write.writerow({'姓名':'赵六','性别':'男','学号':'089','籍贯':'沈阳'})
    f2_write.writerow({'姓名':'赵1六','性别':'男','学号':'059','籍贯':'沈阳'})
    f2_write.writerow({'姓名':'赵2六','性别':'男','学号':'039','籍贯':'沈阳'})
    f2.close()
    :'059','籍贯':'沈阳'})
    f2_write.writerow({'姓名':'赵2六','性别':'男','学号':'039','籍贯':'沈阳'})
    f2.close()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
  • 相关阅读:
    利用vue-codemirror展示编辑json数据
    NoSQL之 Redis配置与优化
    30岁被裁,我想明白的几件事....
    Endgame P.O.O
    【无标题】
    蓝桥杯 使用sort排序(c++)
    2022年大一期末作业——音乐网页(纯html+css+js实现)
    使用 Elastic 和 LM Studio 的 Herding Llama 3.1
    【区块链 | 智能合约】Ethereum源代码(3)- 以太坊RPC通信实例和原理代码分析(上)
    1513_人月神话阅读笔记_再论没有银弹
  • 原文地址:https://blog.csdn.net/m0_52957800/article/details/127420219