爬虫基础训练题

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.hqwc.cn/news/571070.html

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

相关文章

SpringMVC面试题

1、SpringMVC执行流程 [参考内容:SpringMVC的执行流程] 2、常用注解及作用 2.1 Controller 名称:Controller类型:类注解位置:SpringMVC控制器类定义上方作用:设定SpringMVC的核心控制器bean范例 Controller publi…

最小割问题合集,最大权闭合图,最大密度子图,最小权点覆盖,最大权独立子图,OJ练习,代码详解

文章目录 零、回顾1、流网络的割2、最小割问题 一、最小割的应用1.1POJ1966 -- Cable TV Network1.1.1原题链接1.1.2思路分析1.1.3AC代码 1.2ZOJ 2676 Network Wars1.2.1原题链接1.2.2思路分析1.2.3AC代码 1.3OPTM - Optimal Marks1.3.1原题链接1.3.2思路分析1.3.3AC代码 二、最…

LeetCode hot100-20

48. 旋转图像给定一个 n n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。这题说了不能用辅助矩阵,但是不辅助我做不出来。还是暴力解…

JavaWeb学习笔记01

一、教程简介 全新JAVAWEB(里程碑版) 一套更适合后端工程师学习的WEB教程 All in Java 1、后端 ① Spring全家桶及微服务框架 ② 高性能数据库和消息组件 ③ Web攻击防护安全控制手段 ④ 其他第三方SDK生态环境 ...... 2、前端 ① 视图三大件&…

matplotlib调整图片空白

1.线的粗细,标签大小,刻度大小 import matplotlib.pyplot as plt import numpy as np# 生成输入数据 x np.linspace(-6, 6, 100) # 生成 -6 到 6 之间的 100 个数据点 y 1 / (1 np.exp(-x)) # 计算 Sigmoid 函数的输出值# 绘制 Sigmoid 函数曲线 p…

怎么制作iOS证书

首先我们登录appuploder官网 搜索 appuploder 第一个就是我们官网啦,网址是:Appuploader home -- A tool improve ios develop efficiency such as submit ipa to appstore and manage ios certificate 可以跨平台开发,无论是Windows还是Ma…

公司IT部门的三大职责

IT部门在公司内部该怎么定位呢? 首先,我自己是IT部门的,也接触过很多公司IT部门的同行,似乎都没有一个很统一很明确的定位。有的公司把IT部门定位为技术部门,有的则定位为管理部门,还有的则定位为服务部门…

Pygame基础4-多阶段

4-多阶段 原理 本章是对第2章的延续。 我们希望为游戏添加多个阶段,比如开始界面、游戏界面、结束界面等。 为此,我们可以使用一个类来管理游戏的不同阶段。 我们创建了GameManager类,并通过self.status属性表示不同的阶段。 intro阶段…

I/O(输入/输出流的概述)

文章目录 前言一、流的概述二、输入/输出流 1.字节/字符输入流2.字节/字符输出流总结 前言 在变量、数组和对象中储存的数据是暂时的,程序结束后它们就会丢失。如果想要永久地储存程序创建的数据,需要将其保存在磁盘文件中,这样就可以在程序中…

路径规划——搜索算法详解(三):RRT算法详解与MATLAB代码

本文讲解案例来自于古月学院,该篇也是对笔者学习内容的总结,有需要的朋友可以直接跳转到课程(新人福利8节课特惠价才12!不是广告哈,大家看需求选择,可以先看我的讲解。)。 前两篇我们介绍了Djk…

13.处理指定目录下的所有文件夹里的特定文件

1.命题要求 1)对于指定4K_phone目录下,有好几个文件夹,比如quality_15,quality_17,quality_19,等等quality_xx。获取每一个quality_xx文件夹里的1_teacher.txt。 例如,./4K_phone/quality_15/1_teacher.txt、./4K_pho…

基于nodejs+vue饮食分享平台python-flask-django-php

本系统采用了nodejs语言的express框架,数据采用MySQL数据库进行存储。进行开发设计,功能强大,界面化操作便于上手。本系统具有良好的易用性和安全性,系统功能齐全,可以满足饮食分享管理的相关工作。 前端技术&#xff…