爬虫基础训练题

news/2024/7/19 12:24:02 标签: 爬虫, python

1.抓取imooc网站实战课程部分的课程名称(所有课程大概7页,抓取1到5页),并把所有课程名称存储为txt文件第一页地址

2.设置一个请求头(headers),这是一个字典,用于在HTTP请求中设置请求头信息。在这里,请求头信息被设置为一个Chrome浏览器的User-Agent字符串。

3.定义一个URL(url),这个URL是你要爬取的网页的链接。

4.使用requests.get方法发送一个GET请求到上面定义的URL,获取网页的内容,并将响应内容保存到response变量中。

5.使用一个for循环,循环遍历页码范围为1到5(共5页)。

在循环内,对于每一页:

  1. 使用requests.get方法发送GET请求到URL,这个URL的页码是循环变量page的值,获取页面的内容,并将响应内容保存到res变量中。
  2. 设置响应内容的编码方式为utf-8。
  3. 将响应内容保存到r变量中。
  4. 使用etree.HTML方法解析响应内容,并将解析结果保存到s变量中。

6.使用XPath表达式从解析的HTML中提取课程名称。XPath表达式为://a/p[@class='title ellipsis2']/text()。提取到的课程名称保存在变量courseName中。

7.使用open函数以追加模式打开文件"courselist.txt",如果文件不存在则创建该文件。

8.在文件内写入当前页码,然后将课程名称列表转换为字符串,每个课程名称之间用分号分隔,并写入文件。最后写入一个换行符。

9.关闭文件

源代码截图:

courselist.txt内容截图:


http://www.niftyadmin.cn/n/5454180.html

相关文章

编译与链接

环境: 在ASCI C的任何一种实现中,存在两种不同的环境: 1.翻译环境,在这个环境中,源代码被转换为可执行的机器指令(二进制指令) 2.运行环境,用于实际执行代码。 流程:c文件->翻译…

dump文件分析OOM及线程堆栈

OutOfMemoryError (OOM) 如果项目报错: OutOfMemoryError: Java heap space,说明堆内存空间(Heap Space)中没有足够的空间来分配对象了。 一旦发生 OOM,系统有可能不可用,或者频繁重启。属于非常严重的问题…

ROS 2边学边练(2)-- 咱也玩玩Turtlesim

同ROS 1一样,Turtlesim(小海龟)例程往往是大家首次熟悉ROS世界的唯一不二之选(如同刚接触编程的同学,老师会让大家打出“Hello World”的道理一样),很多教学视频及书籍也同样如此,为何?麻雀虽小…

嵌入式Linux:空洞文件

空洞文件(Sparse File)是一种在磁盘上并非完全分配存储空间的文件。它包含了一些逻辑上存在但物理上并未存储的数据。 空洞文件在多线程共同操作文件时具有极大的优势。当创建一个巨大的文件时,单个线程逐步构建文件会耗费大量时间。一种优化…

全面复习C++,为你即将步入职场的面试铺就胜利之路!

写在前面: C作为一门广泛应用的编程语言,掌握它将是你在面试中获得成功的关键。如果你正在学习C,或者即将毕业踏入职场,迎接新的挑战和机遇而。这里,为了方便你的复习,特此为你录制了一场全面复习C的视频&…

esp32c6 micropython固件首发

挺久没写正经文章了,主要是micropython确实也没那么多可挖掘的东西,这次带来的是micropython esp32c6 抢先版的固件,是df论坛的一位大佬编译的,属于测试阶段 固件下载地址 我30岁开始学编程,现在33了,终于程…

RHCE-网络服务实验1

要求: 请给openlab搭建web网站 网站需求: 基于域名www.epenlab.com可以访问网站内容为 welcome to openlab!!!给该公司创建三个子界面分别显示学生信息,教学资料和缴费网站,基于www.openlab.com/student 网站访问学生信息,www.openlab.com/…

谷粒商城——Redisson看门狗

可重入锁: 看门狗机制:(lock.lock()不设置过期时间就会自动触发 看门狗机制) 如果一个线程已经上锁后,在运行的过程中中断导致未释放锁从而导致其他线程无法进行,为此需要为每个锁设置自动过期时间。但是如果线程运行时间较长&am…