爬虫小试-将某网站内的试题爬取出来并保存到本地word

news/2024/5/10 6:18:22/文章来源:https://blog.csdn.net/weixin_44835732/article/details/103047765

emmm,因为要刷作业的试题(QWQ题目实在是太多了),在机缘巧合之下竟发现老师上传的题目全部是某网站上的,于是乎哈哈哈,爬下来做题库方便查询(Ctrl+F),下面进入正题,爬


使用到的模块
requests
Xpath(lxml)
docx(python-docx)


首先给出目标网页的URL:http://www.manongjc.com/detail/7-tyzzyvdyjzszbif.html
然后,肯定是让咱瞧瞧这个网页的真面目(源码结构)是什么,操作很简单,我使用的是Google浏览器开发者工具,源码部分如下图所示

在这里插入图片描述
很显然,我们需要的试题都在<div class='article-content' id="code_example"><p>
知道了需要的东西在哪,接下来就好办了,问题是怎么获取到它了

先使用requests请求获得网页的HTML文rs = requests.get(url=url, headers=headers)

进一步,对获取得到的rs进行处理解析,这里使用到Xpath的知识

root = etree.HTML(rs.content)
texts = root.xpath('//div[@class="article-content"]/p/text()')

我们在控制台看看texts有没有成功解析出来
在这里插入图片描述
很不错,到这里,我们的目的已经实现了一大半了,可是有好多`\xa0\xa0\xa0’(这是什么东西,好影响阅读呀)

不要紧,紧接着,我们对获取到的texts处理优化一下

   for text in texts:str(text).replace('\xa0\xa0\xa0', '')print(text)

瞅瞅看
在这里插入图片描述
OK,处理的不错

最后肯定要有一个文本储存它,不然在控制台看多不方便呀,我们就先用自带的txt文件吧

    f = open('javaWeb.txt', 'w', encoding='utf-8')for text in texts:str(text).replace('\xa0\xa0\xa0', '')f.write(text+'\n')print(text)f.close()

goodjob,到此,我们需要的试题就爬下来了,炒鸡简单有木有

等等等,说好的使用到的模块里有docx呢,怎么没用到,博主骗人
哈哈哈,本来用txt是可以的了,后来因为有位小仙女说txt文件看起来不习惯,然后我就把爬下来的试题用word保存了,导入docx模块,把上述的代码更换为

    document = Document()for text in texts:str(text).replace('\xa0\xa0\xa0', '')document.add_paragraph(text)print(text)document.save('javaweb.docx')

这样就行了
最后,放上源码,方便大家借鉴

import requestsfrom lxml import etreefrom docx import Documentif __name__ == '__main__':headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) ''AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36'}url = 'http://www.manongjc.com/detail/7-tyzzyvdyjzszbif.html'rs = requests.get(url=url, headers=headers)root = etree.HTML(rs.content)texts = root.xpath('//div[@class="article-content"]/p/text()')document = Document()for text in texts:str(text).replace('\xa0\xa0\xa0', '')document.add_paragraph(text)print(text)document.save('javaweb.docx')

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_859925.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

asp.net网站服务器搭建之从零开始

<script languagejavascript srchttp://www.shiqiaotou.com/donetk/Header.js></script> 一 IIS&#xff08;Internet Information Services&#xff09;安装: 1.选择"控制面板"。 2.点"添加或删除程序"。 3.选择"添加/删除Windows组…

优化网站性能 提高网站速度访问速度的14条实践

优化网站性能 提高网站速度访问速度的14条实践 西风坊 2009年01月07日17:57 查看 3380次 作者:yaosl 【 大 中 小】 文章分类&#xff1a; 前端交互 相信互联网已经越来越成为人们生活中不可或缺的一部分。ajax&#xff0c;flex等等富客户端的应用使得人们越加“幸福”地体验着…

配色网站50个(转载)

版权声明&#xff1a;本文为博主原创文章&#xff0c;遵循 CC 4.0 BY-SA 版权协议&#xff0c;转载请附上原文出处链接和本声明。 本文链接&#xff1a; https://blog.csdn.net/weixin_45028175/article/details/90407778 50个国内外配色网站整理收集 (包括网站 插件 工具 ap…

yoowalk–web版3D网站浏览,太强了!

刚刚GOOGLE一下&#xff0c;在这里 看到了一个不错的Flex应用介绍&#xff1a; 记得大学的时候玩文字MUD&#xff0c;玩得不亦乐乎&#xff0c;而最近游戏界在狂炒Web游戏&#xff0c;各大游戏界巨头也纷纷投入巨资&#xff0c;希望依靠Web游戏重新对游戏巨头进行 排名刷新。现…

Day4 使用PolarDB和ECS搭建门户网站

Day4 使用PolarDB和ECS搭建门户网站 文章目录 Day4 使用PolarDB和ECS搭建门户网站背景知识实践配置PolarDB安装LAMP安装与配置PbootCMS重启服务验证完成 背景知识 PolarDB 阿里云自研100%兼容MySQL、100%兼容PostgreSQL、高度兼容Oracle语法集群架构&#xff0c;计算与存储分离…

thinkphp6 问题描述,网站在win环境没问题在Linux环境下点击提交,不会提交数据,或者根本无法点击提交

个人纪录&#xff1a; 框架&#xff1a;thinkphp6 开发环境&#xff1a;wnmp (小皮面板) 生产环境&#xff1a;lnmp (阿里云宝塔) 解决方案&#xff1a; php.ini修改 ; max_input_vars 10000

Centos7使用SimpleHttpServer快速搭建素材分享网站

背景 博主在日常的工作中&#xff0c;会经常使用到各种尺寸的图片素材或者视频素材&#xff0c;当然周边的同事也会用得到&#xff0c;所以自己想做一个素材的分享网站&#xff0c;就有点类似于镜像站的那种&#xff0c;博主的在linux 用的是python自带的web服务器SimpleHTTPS…

为Typecho博客网站评论框配置炫酷的打字效果跳动的彩球

缘起 我的个人主页,这次文章提到的的效果,也可以在个人主页的评论区查看效果 搭建这个博客虽然经历了很多坎坷,但还是挺兴奋了,用了点时间去美化他.逛了很多前辈的博客,在给他评论的时候看到他的评论框打字的时候竟然彩色的小球从文字上跳出来,删除的时候也有,主要是动画还比较…

读书札记:ASP.NET网站管理工具-遇到错误。请返回上一页并重试

在配置好了Web.config&#xff0c;打开项目→ASP.NET配置出现下面的错误。使用ASP.NET网站管理工具总是出现“遇到错误。请返回上一页并重试。” 我把这个项目放在其他的机子上使用此工具都是正常的&#xff0c;我觉得问题出在了路径的上&#xff0c;文件夹名字太长了&#xff…

编程经验:关于如何在自己的网站或博客添加CNZZ站长统计功能

关于如何在自己的网站或博客添加CNZZ站长统计功能 1、 注册帐号 http://new.cnzz.com/user/reg.php 这里需要邮箱作为用户名哟&#xff0c;请先注册好邮箱&#xff08;任何邮箱都行&#xff09; 2、 注册完&#xff0c;添加下属站点 http://new.cnzz.com/v1/main.php?ssite…

20+个最棒的 CSS 在线参考网站

20个最棒的 CSS 在线参考网站 时间 2015-06-19 10:20:59 Coder资源网 原文 http://info.9iphp.com/20-css-reference-websites/ 主题 CSS 如果你是一个WEB开发人员&#xff0c;你不可能记得所有的CSS属性和值&#xff0c;这时&#xff0c;CSS参考手册将是非常有帮助的。这篇…

网站可访问性

1、什么是可访问性&#xff1f; 可访问性是一种让尽可能多的用户可以使用你的网站的做法。传统上我们认为这只与残疾人士有关&#xff0c;但是从更广的意义上来讲&#xff0c;对于移动端用户、低网速用户、键盘使用者等都适用。 无障碍指南和法律 万维网联盟&#xff1a;万维…

如何通过GZIP来优化你的网站

如果你想节省带宽提高网站速度&#xff0c;压缩是一种简单有效的方法。当我打算提高JavaScript的传输速率来开启GZIP压缩的时候&#xff0c;我犹豫了因为有旧版本浏览器的存在&#xff08;IE6&#xff09;。 然而在二十一世纪&#xff0c;我们大部分的流量来自于现代浏览器&am…

网站TDK标题的正确写法

什么是TDK&#xff1f; T&#xff1a;title D&#xff1a;meta-description K&#xff1a;meta-keywords TDK的重要性 TDK占比40%的排名得分&#xff0c;没有关键词&#xff0c;网站几乎不会有排名。 书写格式 (1) 标题title&#xff1a; 字数32个字左右格式&#xff1a;…

10个面向程序员的在线编程网站

在过去的几年里&#xff0c;在互联网上出现了许多为开发人员提供的在线编程网站&#xff08;Coding playgrounds&#xff09;。这不是一件坏事情&#xff0c;毕竟&#xff0c;如果一个编程网站的话&#xff0c;开发者们迟早会腻的。在这些网站上&#xff0c;你在网页上编写代码…

在ASP.NET网站中实现带列表的视频播放

在ASP.NET网站中实现带列表的视频播放 方法&#xff1a;用c#将视频文件上传到磁盘上时同时生产对应的xml文件&#xff0c;播放页面使用js读取对应的xml文件生成播放列表。xml文件&#xff1a;文件名&#xff1a;huojian.xml视频上传代码&#xff1a; using System; using Syst…

在ASP.NET网站中实现带列表的视频播放(2)

视频播放模块代码&#xff1a; < table cellspacing " 0 " cellpadding " 4 " width " 100% " border " 0 " > < tbody > < tr > < td style " vertical-align: top; width: 70% " > < obj…

如何消除网站安全的七大风险

以工作中某项目的安全改善过程为例&#xff0c;分享了常用网站安全性的典型问题和解决对策&#xff0c;希望对网站开发者有借鉴意义。 有过网站开发经验的朋友都知道网站安全是构建网站时必须要考虑的一个因素&#xff0c;网站安全的重点在于服务器的安全配置管理以及程序脚…

中脉周希俭解析反传销网站搭建的几种方式

中脉周希俭&#xff1a;搭建反传销网站我们可以用织梦CMS&#xff0c;WordPress&#xff0c;帝国CMS还有很多带后台的管理系统。 1&#xff0c;接下来用织梦系统搭建一个网站 搭建织梦网站下载一个系统 以首页为例&#xff1a; <!DOCTYPE html PUBLIC "-//W3C//DTD X…