舒适地一键下载英语真题资料

本文介绍如何使用Python模拟操作,通过BeautifulSoup解析网页,一键下载英语真题资料,详细阐述了获取页面URL、解析数据及保存资料的步骤。
摘要由CSDN通过智能技术生成

舒适地一键下载英语真题资料

(注:笔者的原文发布在微信公众号“雪上空留码行处”)
笔者现在是大一学生,考完大学英语的第一场考试之后,原地爆炸
笔者考完大学英语的第一场考试之后,原地爆炸
异常分析了一下之后,还是老老实实看看题吧!于是,在网上找资料的想法就产生了

01 模拟操作

首先,我们先进入一个放有资源的网站。我们现在获取资源的步骤,就是等一下代码要执行的步骤。笔者以这个网站为例:

在这里插入图片描述
往下拉,可以看到我们我们要的资源列表。点进去,里面就是我们想要的资源了。不同页面,有着不同的链接(url)

在这里插入图片描述
在这里插入图片描述
所以我们大概的步骤为:进入网站(获取index_url)—进入各资源页面(获取各页面的url)—获取资源(用库函数解析数据)

02 得到各个页面的URL

每个页面的URL都不同,怎么办呢?最简单的方式,就是查看网页的源代码,寻找各个URL共同的父类标签,这样才有可能顺利地解析出数据
在这里插入图片描述
可以看到各个链接都有着共同的、属性是style="color:#005a94"的标签,这就好办了

先引入requests以及BeautifulSoup库:(哈哈BeautifulSoup这名字好有诗意啊)

import requests
from bs4 import BeautifulSoup

用requests.get()来获得网页源代码,我们要获取的链接就在源代码里。接下来让BeautifulSoup来解析数据。

#进入首页,在首页获得各资源的网址
index_url='https://www.hjenglish.com/sijidaan/zuixinsijizhenti/'
#获取网页源代码
res=requests.get(index_url)
#用漂亮的汤来解析一下数据,这样才可以方便获取
soup=BeautifulSoup(res.text,'html.parser')

用find_all()来定位我们需要的标签。因为返回的是列表,所以我们循环遍历,就可以提取出想要的各个URL了。

urls=soup.find_all('a',style='color:#005a94')
for i in urls:#返回列表,需要循环遍历
    url=i['href']#方括号后面跟的是属性值。此时就已经获得了各资源的网址了

03解析数据

这一步很简单,在源码里看想要的信息在哪里就好了
在这里插入图片描述
在这里插入图片描述
然后解析一下数据。因为此时,数据的位置是唯一的,用find即可

#再像刚刚那样解析一遍
    res2= requests.get(url)
    soup2= BeautifulSoup(res2.text, 'html.parser')
    print('-------------------------------华丽的分割线------------------------------------')
    title = soup2.find('h1', class_='title')
    print(title.text)
    article = soup2.find('div', class_='article-content')
    print(article.text)

04 运行程序并保存资料

运行就好了!看着资料唰唰唰的出现在终端,笔者非常舒适
在这里插入图片描述
直接复制黏贴到本地
在这里插入图片描述
这样就可以得到英语真题啦!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值