Python实验作业,爬虫,中国院士信息
2023-12-19 22:21:49
实验内容:
爬取中国工程院网页上,把每位院士的简介保存为本地文本文件,把每位院士的照片保存为本地图片,文本文件和图片文件都以院士的姓名为主文件名。
实验代码:
import os.path
import time
from urllib.request import urlopen
# 创建用来存放爬取结果文件的文件夹
dstDir = 'YuanShi'
if not os.path.isdir(dstDir):
os.mkdir(dstDir)
# 爬取起始页面
startUrl = r'http://www.cae.cn/cae/html/main/col48/column_48_1.html'
# 读取网页内容
with urlopen(startUrl) as fp:
content = fp.read().decode()
# 提取并遍历每位大牛链接
pattern = r'<li class="name_list"><a href="(.+)"'\
+' target="_blank">(.+)</a></li>'
result = re.findall(pattern, content)
print(result)
# 爬取每位院士的简介和照片
for item in result:
perUrl, name = item
print(item)
print('正在爬取{}...'.format(perUrl))
name = os.path.join(dstDir, name)
perUrl = r'http://www.cae.cn/' + perUrl
with urlopen(perUrl) as fp:
content = fp.read().decode()
# 抓取照片并保存为本地图片文件
pattern = r'<img src="/cae/admin/upload/(.+)" style='
result = re.findall(pattern, content, re.I)
print(result[0])
if result:
picUrl = r'http://www.cae.cn/cae/admin/upload/{0}'
picUrl = picUrl.format(result[0].replace(' ', r'%20'))
print(picUrl)
with open(name+'.jpg', 'wb') as pic:
pic.write(urlopen(picUrl).read())
# 抓取简介并写入本地文本文件
pattern = r'<p>(.+?)</p>'
result = re.findall(pattern, content)
if result:
intro = re.sub('(<a.+</a>)|( )|( )',
'',
'\n'.join(result))
with open(name+'.txt', 'w', encoding='utf8') as fp:
fp.write(intro)
实验结果:
文章来源:https://blog.csdn.net/m0_70437378/article/details/135092074
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!