中年大叔学编程-我用Python保存金山词霸每日一句
cac55 2024-10-27 08:22 28 浏览 0 评论
其实金山词霸每日一句已经出来很久了,但是我都不知道,今天去金山词霸的官网看了看,感觉这些句子都挺不错的,所以就想着把它们给存下来。
我大概看了一下他的页面,请求的敏感数据是加密的,页面是基于请求的数据动态渲染的,去解析结构的话,会比较花时间,这里我就使用selenium来简化操作,它可以模拟浏览器,直接把数据渲染成最终的展示出来的页面,然后,直接解析最终的html就可以得到最终的结果。
安装selenium
pip install selenium
因为是这里是用的google浏览器版本 83.0.4103.97(正式版本) (32 位),所以 这里我们需要去http://npm.taobao.org/mirrors/chromedriver下载对应的chromedriver驱动,然后解压到Python的安装目录。 如果不指定自己的安装路径,可以在cmd中执行where python命令来查找
C:\Users\lenovo>where python
D:\Programs\Python\Python38-32\python.exe
C:\Users\lenovo\AppData\Local\Microsoft\WindowsApps\python.exe
把我们下载的chromedriver复制到对应的目录,我这里是D:\Programs\Python\Python38-32\
使用的selenium
那么这里先简单的写几句代码
from selenium import webdriver
browser=webdriver.Chrome()
browser.get('http://news.iciba.com/views/dailysentence/daily.html#!/detail/title/2020-06-05')
print(browser.page_source)
我们运行python demo.py就会看到这样的效果
这里我需要它的图片、英文和汉译,我们来看看它的网页元素结构
它的英文和汉译分别在detail-content-en和detail-content-zh两个class节点中,这里我们需要借助另外一个插件来解析selenium获取到的html,它就是PyQuery,先执行pip install PyQuery 把它安装下来,现在我们来开始获取他的英文内容、汉译内容以及图片地址
from selenium import webdriver
from pyquery import PyQuery as pq
from time import sleep
browser = webdriver.Chrome()
browser.get(
'http://news.iciba.com/views/dailysentence/daily.html#!/detail/title/2020-06-05') # 访问页面
sleep(5) # 等待5秒钟
html = browser.page_source # 获取页面渲染好的html
page = pq(html) # 装载到pyquery中
en = page(".detail-content-en") # 查找英文节点
zh = page(".detail-content-zh") # 查找中文节点
img = page(".detail-banner-img") # 查找图片
print(en.text())
print(zh.text())
print(img.attr('src'))
browser.quit() # 退出浏览器
现在,我们来把每日一句的内容保存下来
from selenium import webdriver
from pyquery import PyQuery as pq
import time
import requests
cur_date = time.strftime("%Y-%m-%d", time.localtime(time.time())) # 取当前日期
browser = webdriver.Chrome()
browser.get(
'http://news.iciba.com/views/dailysentence/daily.html#!/detail/title/'+cur_date) # 访问页面
time.sleep(5) # 等待5秒钟
html = browser.page_source # 获取页面渲染好的html
page = pq(html) # 装载到pyquery中
en = page(".detail-content-en") # 查找英文节点
zh = page(".detail-content-zh") # 查找中文节点
img = page(".detail-banner-img") # 查找图片
with open('D:/ciba/'+cur_date+'.txt', 'wb') as file: # 将内容写入txt文本
file.write(en.text().encode())
file.write("\n".encode())
file.write(zh.text().encode())
img_url = img.attr('src')
r = requests.get(img_url)
with open('D:/ciba/'+cur_date+'.jpg', 'wb')as f: # 将图片保存成文件
f.write(r.content)
browser.quit() # 退出浏览器
现在,我们执行python demo.py,就可以得到这样的效果
是不是感觉有点意思?
我只是记录我的学习过程,由于书读的少,可能很多地方表述或者是理解得不对,请轻喷并指正。
相关推荐
- 三星电视通过VGA端口接连笔记本教程
-
科技的发达不仅仅表现于智能电视的功能有多全面,手机、笔记本、电视盒子有多智能,而是这些电子产品是否能够相互连接、多屏互动进而进行多媒体播放与数据传输等。目前,三星电视早已可以实现多项设备间的连接与使用...
- KVM210UA 2口USB电脑切换器VGA KVM切换器 键鼠控制2台电脑 免电源
-
登昌恒KVM210UA2口USB电脑切换器VGAKVM切换器键鼠控制2台电脑免外接电源即时切换显示画面不延迟热插拔免驱动适合MAC苹果电脑笔记本和台式电脑...
- 大神自己将老旧笔记本改装成多方面强悍的“超极本”
-
文/自己建房子亲戚有个03年的清华紫光笔记本,配置是奔腾1.8G,XP勉强运行,亲戚今年帮了非常大的忙,无以回报,把他这个垃圾本改一下略为回报新配置:CPU是i53470t的,内存是4G两条组成双...
- 正点原子开拓者FPGA开发板资料连载第二十二章RGBTFT-LCD彩条显示
-
1)实验平台:正点原子开拓者FPGA开发板2)摘自《开拓者FPGA开发指南》关注官方微信号公众号,获取更多资料:正点原子3)全套实验源码+手册+视频下载地址:http://www.openedv.c...
- 显卡引出故障现象及排除(造成显卡故障的原因有哪些)
-
故障现象一:显示器黑屏故障排除:1、先确定是否是显卡有问题。判断的方法是听PC喇叭的叫声,一长两短声肯定是显卡发生了致命错误,只能更换。2、如果无法断定显卡的好坏,可以换一块试试,还不行的话则有几种情...
- 用FPGA/树莓派RP2040驱动HDMI的资源
-
如果能够用FPGA能够驱动显示器,就可以做不少与视频相关的实验,很多FPGA开发板使用了比较简单的VGA接口,连接非常简单,如下图:然后我们就可以用FPGA的逻辑来做各种游戏了:然而,现在的显示器基本...
- STM32+A3P125 图形控制器方案,多参数监护仪数据采集模块深度解析
-
一、生理信号采集与转换架构多参数监护仪数据采集模块是将人体生理信号转化为数字信号的核心单元,其架构遵循“传感器感知→信号调理→模数转换→数字处理”的标准化流程:1.传感器类型与生理信号转换传感器...
- 电脑重启都提示AMD显卡错误“No AMD graphics driver is..”解决方法
-
电脑重装完系统后,每次重启都提示AMD显卡错误“NoAMDgraphicsdriveris......”怎么办?网上相关问题解决很多人方法是打驱动,可是有些是驱动打好了还是反复出现NoAM...
- ipad1改造显示器之拆解篇(ipadair改显示器)
-
闲来无事,翻出来家里12年前的初代ipad,除了能正常充电开机盖泡面之外,好像啥也干不了……上网一搜有许多改成显示器的案例,按耐不住的激动的小手也想跃跃欲试一番,说干就干,先从拆解开始。注意,以hom...
- 老电脑显卡驱动装不上?降级旧版驱动一招解决!
-
老电脑显卡驱动装不上?降级旧版驱动一招解决!今天给家里的老台式机重装系统遇到了麻烦:i34130处理器配上HD7770显卡,装完Win7后,显卡驱动死活装不对!问题表现:最初状态:设备管理器“显...
- 想淘汰VGA 先得知道这些门道(vga是不是淘汰了)
-
不要说新显卡,就是在主板上,VGA接口也越来越少,眼看就被彻底淘汰了。当然小伙伴们的显示器应该早就不是只有VGA接口的旧型号了,彻底淘汰VGA就换个接口或者弄个转接呗,可是……真的这么简单吗?小编今天...
- IMX258摄像头驱动(摄像头最新驱动)
-
IMX25813MPOISUSBCamera(A)说明IMX25813MPOISUSBCamera(A)功能简介特性USB通用摄像头1300万像素接口USB...
- 朗强科技:VGA视频信号分配原理分析
-
VGA分配器的主要功能是把一个视频信号重新分配成多个信号。高分辨率的视频分配放大器的作用是在接收一个来自计算机视频端口的信号后将其进行放大处理,并且在保持原有信号质量的情况下,将其信号分配到多个高分辨...
- 视频矩阵的应用及分类(视频矩阵的应用及分类)
-
视频矩阵-基本功能和要求视频矩阵-基本功能和要求 一个矩阵系统通常还应该包括以下基本功能:字符信号叠加;解码器接口以控制云台和摄像机;报警器接口;控制主机,以及音频控制箱、报警接口箱、控制键盘等附件...
- 告别蓝屏烦恼,Windows系统崩溃急救指南!
-
Windows系统蓝屏(BlueScreenofDeath,简称BSoD)是Windows操作系统在无法从系统错误中恢复时显示的屏幕图像,通常会伴随一个或多个错误代码,这些代码是诊断问题的关键线...
你 发表评论:
欢迎- 一周热门
- 最近发表
-
- 三星电视通过VGA端口接连笔记本教程
- KVM210UA 2口USB电脑切换器VGA KVM切换器 键鼠控制2台电脑 免电源
- 大神自己将老旧笔记本改装成多方面强悍的“超极本”
- 正点原子开拓者FPGA开发板资料连载第二十二章RGBTFT-LCD彩条显示
- 显卡引出故障现象及排除(造成显卡故障的原因有哪些)
- 用FPGA/树莓派RP2040驱动HDMI的资源
- STM32+A3P125 图形控制器方案,多参数监护仪数据采集模块深度解析
- 电脑重启都提示AMD显卡错误“No AMD graphics driver is..”解决方法
- ipad1改造显示器之拆解篇(ipadair改显示器)
- 老电脑显卡驱动装不上?降级旧版驱动一招解决!
- 标签列表
-
- 如何绘制折线图 (52)
- javaabstract (48)
- 新浪微博头像 (53)
- grub4dos (66)
- s扫描器 (51)
- httpfile dll (48)
- ps实例教程 (55)
- taskmgr (51)
- s spline (61)
- vnc远程控制 (47)
- 数据丢失 (47)
- wbem (57)
- flac文件 (72)
- 网页制作基础教程 (53)
- 镜像文件刻录 (61)
- ug5 0软件免费下载 (78)
- debian下载 (53)
- ubuntu10 04 (60)
- web qq登录 (59)
- 笔记本变成无线路由 (52)
- flash player 11 4 (50)
- 右键菜单清理 (78)
- cuteftp 注册码 (57)
- ospf协议 (53)
- ms17 010 下载 (60)