数据采集与融合技术作业1

news/2024/10/15 16:19:36

作业1

1)用requests和BeautifulSoup库方法定向爬取给定网址(http://www.shanghairanking.cn/rankings/bcur/2020) 的数据,屏幕打印爬取的大学排名信息。

代码:

# 使用 BeautifulSoup 解析 HTML
soup = BeautifulSoup(html_content, 'html.parser')# 查找包含排名信息的表格
ranking_table = soup.find('table', {'class': 'rk-table'})# 定义一个正则表达式来匹配中文字符(去掉英文名)
chinese_pattern = re.compile(r"[\u4e00-\u9fff]+")# 遍历表格行,提取排名信息
if ranking_table:rows = ranking_table.find_all('tr')# 输出表头print(f"{'排名':<6} {'学校名称':<20} {'省市':<10} {'学校类型':<10} {'总分':<6}")# 遍历每一行,提取信息for row in rows[1:]:  # 跳过表头cols = row.find_all('td')if len(cols) >= 5:  # 确保有足够的列数据rank = cols[0].text.strip()# 只提取中文学校名称,使用正则表达式去除英文部分raw_name = cols[1].text.strip()name = ''.join(chinese_pattern.findall(raw_name))  # 只保留中文部分name = name.replace('双一流', '')  # 去除"双一流"信息# 去除双一流/985/211信息raw_location = cols[2].text.strip()location = raw_location.split('/')[0].strip()  # 提取省市,去掉后面的内容school_type = cols[3].text.strip()score = cols[4].text.strip()

输出结果:

2)心得体会

这个任务之前在老师布置的作业里已经完成过了

作业2

1)用requests和re库方法设计某个商城(自已选择)商品比价定向爬虫,爬取该商城,以关键词“书包”搜索页面的数据,爬取商品名称和价格。

代码:


输出结果:

2)心得体会

这个任务之前在老师布置的作业里也已经完成过了

作业3

1)爬取一个给定网页( https://news.fzu.edu.cn/yxfd.htm) 的所有JPEG和JPG格式文件

代码:

# 禁用不安全请求警告
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
# 目标网页 URL
url = "http://news.fzu.edu.cn/yxfd.htm"  # 尝试使用 http
# 保存图片的文件夹路径
save_folder = r'C:\Users\刘哲睿\Desktop\Typora\数据采集实验1\images'
# 如果文件夹不存在则创建
if not os.path.exists(save_folder):os.makedirs(save_folder)
# 自定义请求头,伪装成浏览器
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36'
}
# 创建一个会话对象
session = requests.Session()
# 发送请求获取网页内容,禁用 SSL 证书验证
try:response = session.get(url, headers=headers, verify=False)response.encoding = 'utf-8'  # 设置编码html_content = response.text
except requests.exceptions.ConnectionError as e:print(f"连接失败: {e}")exit()# 使用 BeautifulSoup 解析 HTML
soup = BeautifulSoup(html_content, 'html.parser')# 定义图片格式的正则表达式,匹配 .jpg 和 .jpeg 文件
img_pattern = re.compile(r'.*\.(jpg|jpeg)$', re.IGNORECASE)# 查找所有图片链接
img_links = []# 查找所有 <img> 标签
for img in soup.find_all('img'):img_url = img.get('src') or img.get('data-src')  # 获取图片链接if img_url and img_pattern.search(img_url):# 如果图片链接是相对路径,转换为绝对路径if img_url.startswith('/'):img_url = "http://news.fzu.edu.cn" + img_url  # 修改为 httpimg_links.append(img_url)

输出结果:


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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

【systemd】systemd功能简介及优化

1.systemd简介 Systemd是Linux系统工具,用来启动守护进程,已成为大多数发行版的标准配置。 历史上Linux的启动一直采用init进程,采用下面命令来启动服务: $ sudo /etc/init.d/apache2 start # 或者 $ service apache2 start1.启动时间长。init进程是串行启动,只有前一个进…

数据采集实验一

题目一 (1)要求:用requests和BeautifulSoup库方法定向爬取给定网址(http://www.shanghairanking.cn/rankings/bcur/2020)的数据,屏幕打印爬取的大学排名信息。python import requests from bs4 import BeautifulSoup# 目标网址 url = http://www.shanghairanking.cn/ranki…

Java面试题(持续更新中...)

各大公司Java面试题超详细总结!事务的四大特性 原子性,隔离性,持久性,一致性 事务的隔离级别和现象读未提交:可能产生脏读,读取到未提交的数据 读已提交:可能产生不可重复读取问题,A事务中读取到B事务已提交的数据,导致两次读取数据不一致 可重复读:可能产生幻读问题…

数据采集作业1

作业一 (1)实验内容 o 要求:用requests和BeautifulSoup库方法定向爬取给定网址(http://www.shanghairanking.cn/rankings/bcur/2020 )的数据,屏幕打印爬取的大学排名信息。 o 输出信息: 排名 学校名称 省市 学校类型 总分 1 清华大学 北京 综合 852.5 2 ...... 代码如下…

如何制作精美ppt(1)

现阶段人工智能有生成式人工智能、大语言模型、和ChatGPT,这三者之间为层级关系,生成式人工智能包含文本生成、图像生成、音频生成、视频生成。 现阶段推荐可使用的软件有:海螺AI 文小言(百度) Kimi智能助手(写论文适用) 智谱清言 制作过程要当成一种交流 1 沟通:作为上…

luogu 模拟赛

A.带余除法 我们不难考虑找出 \(q\) 的上下界,不难发现范围是 \([\lfloor\frac{n}{k+1}\rfloor+1,\lfloor\frac{n}{k}\rfloor]\)。当然这个区间可能为空。只需算出区间长度即可。 B.奖牌排序 不难考虑到分别按照三个关键字排序,然后对于每个小朋友找到每个关键字下的排名(同…

vue+wangEditor编辑器,上传图片请求后台接口

来吧,先给大家看一下,是否是你想要的简单轻便编辑器的效果。父组件:<EditorView :content="value" @change="grtUrl"/><script> import EditorView from "@/components/EditorView"; export default {components: {EditorView}},…

汽车开发流程管理工具赋能安全与质量

经纬恒润能够提供Stages的咨询及工程服务能力,同时在ALM实施、ASPICE、功能安全、预期功能安全等有着丰富的咨询经验,帮助客户共同构建一个更高的安全标准和质量水平。 随着数字化、人工智能、自动化系统及物联网技术的迅速发展,工程驱动型企业正面临重大转型挑战,亟…