IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> Selenium+python亲测爬虫工具爬取年度电影榜单 -> 正文阅读

[开发测试]Selenium+python亲测爬虫工具爬取年度电影榜单

Selenium介绍

Selenium 是一个用于Web应用程序测试的工具,Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。

支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera,Edge等,它在python的领域里的引用能使初学者大大的省去解析网页中代加密的一些麻烦。

*特别适合小白练手

Selenium安装

1.首先要下载一个python的环境,最新的python环境里有继承好的pip工具包(这块知识见python官网操作)

2.下载浏览器的驱动(我这边以谷歌浏览器,你们也可以下载其他的)

打开https://npm.taobao.org/mirrors/chromedriver链接(这个是谷歌浏览器的驱动),先找到自身浏览器的版本进行下载,找自身浏览器版本方法见下图1,图2

图1

图2

我这里的是93.0.4577.63接着在驱动下载页面下载自己的版本的驱动,(如果没有自己的版本就找这个版本之前的一个) 见下图3

?图3

下载好后把解压好的包安装在自己的python环境下。

找python环境目录的方法:1.打开python--------右击----选择运行? 图4 做记号的就是我的路径

?图4

把下好的复制到相应的路径下就可以了如图5

图5


电影榜单的抓取

工具:PyCharm 2021.2

python编译环境:python3.8

首先导入需要的依赖包 在python终端中打入

pip install selenium

解析网页:

首先打开网址https://www.endata.com.cn/BoxOffice/BO/Year/index.html? 按F12打开代码解释器

进行一个解析,我们测试代码是否能自动的打开浏览器

from selenium.webdriver import Chrome


web = Chrome() 

web.get("https://www.endata.com.cn/BoxOffice/BO/Year/index.html") 

经过测试是能打开需要的网址的,接着我们要爬的是每一年度第一的观影榜单,我们利用xpath进行一个定位。

sel_el = web.find_element_by_xpath('//*[@id="OptionDate"]')#定位一个下拉列表

xpath不会定位的见下图

?定位到的位置

?我们观察到这里有一个下拉列表,我们需要对下拉列表进行一个封装然后根据索引(这里直接根据options)进行一个遍历查找(这块涉及到前端知识点下拉列表)

sel = Select(sel_el)
    for i in range(len(sel.options)):
        sel.select_by_index(i)

?最后找到你要爬取的内容,我这爬取的是电影名称和票房

table = web.find_element_by_xpath('//*[@id="TableList"]/table/tbody/tr[1]/td[2]/a/p').text
piaofang = web.find_element_by_xpath('//*[@id="TableList"]/table/tbody/tr[1]/td[4]').text

把爬取的内容保存到当前目录文件下,最后一部进行代码段的整合

整合代码段:

import time

from selenium.webdriver import Chrome
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.support.select import Select

web =Chrome()

web.get("https://www.endata.com.cn/BoxOffice/BO/Year/index.html")
with open('data.csv', 'w', encoding='utf-8') as f:  #打开文件,进行写入
    sel_el = web.find_element_by_xpath('//*[@id="OptionDate"]')#定位一个下拉列表

#对元素进行包装
    sel = Select(sel_el)
    for i in range(len(sel.options)):   #前端的下拉列表的
        sel.select_by_index(i)
        time.sleep(2)   #进行一个2s的休眠
        table = web.find_element_by_xpath('//*[@id="TableList"]/table/tbody/tr[1]/td[2]/a/p').text    #定位要找的东西位置
        piaofang = web.find_element_by_xpath('//*[@id="TableList"]/table/tbody/tr[1]/td[4]').text
        nianfen = web.find_element_by_xpath('//*[@id="OptionDate"]/option[1]').text
        f.write(table)
        f.write('\r')
        f.write(piaofang)
        f.write('\r\n')
    f.close()
web.close()
print("爬取完毕")

效果展示:


总结:

安装驱动有不明白的地方可以提出来哦,让我们一起努力一起学习,有那写的不对的还请各位大佬指正,感觉写的还行的,给个小赞,小编也有写下去的动力

💖💖💖💖💖💖

💖💖💖💖💖💖💖

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-09-06 11:26:55  更:2021-09-06 11:27:28 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/17 22:25:07-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码