Python环境搭建实验报告,实验报告十 网络爬虫

1.批量爬取中国工程院院士信息,把每位院士的文字介绍保存到该院士名字为名的记事本文件中,照片保存到该院士名字为名的jpg文件中。

注意事项要安装各种数据库

比如,下面的代码用pycharm运行的话先安装数据库。

1.先打开朋友charm->

 2.按terminal按键以后就会发现一个这样的窗口

在这里要输入开始安装数据库。

pip install pandas

pip install requests

安装完两个数据库以后可以用下面的d

 

import timeimport requestsimport refrom multiprocessing import Poolimport osimport pandas as pddef to_exel(result_list, columns, file):writer = pd.ExcelWriter(file)df = pd.DataFrame(result_list, columns=columns)# logging.info("df = pd.DataFrame(result_list, columns=columns)")df.to_excel(writer, startrow=0, startcol=0, sheet_name='院士信息', index=False)writer.save()writer.close()def run(a_url, headers):print("子进程ID号:%d\n" % (os.getpid()))# os.getpid()进程ID# 获取院士详细资料的页面new_url = "https://ysg.ckcest.cn" + a_urlr = requests.get(new_url, headers)# print(r.text)try:# 获取院士姓名name = re.findall('姓名:(.*?)', r.text)[0]# 性别sex = re.findall('性别:(.*?)', r.text)[0]# 族别nation = re.findall('民族:(.*?)', r.text)[0]# 本科院校college = re.findall('(.*?) .*?\s*?学士学位\s*?', r.text)[0]# 入选院士年份year = re.findall('当选年份:\s*?\s*?中国工程院院士 \s*(.*?)\s*.*?\s*?', r.text, re.S)[0]# 为每个院士创建文件夹os.makedirs("./院士/%s" % name)picture_url = re.findall('', r.text)picture = requests.get("http:" + picture_url[0], headers)with open("./院士/%s/%s.jpg" % (name, name), 'wb') as f:f.write(picture.content)introduce_num = re.findall('html/details/(.*?)/index.html', a_url)[0]# print(introduce_num)introduce_url = "https://ysg.ckcest.cn/html/details/subnav/content/" + introduce_num + "/detail_grxx_grjj"introduce_page = requests.get(introduce_url, headers)introduce = re.findall('

(.*?)

', introduce_page.text)[0]with open("./院士/%s/%s.txt" % (name, name), 'w', encoding='utf-8') as f:f.write(introduce)print(name, sex, nation, college, year)print("%s院士保存成功!"%name)return [name, sex, nation, college, year]except (FileExistsError, IndexError) as e:print(str(e))if __name__ == "__main__":# 计算耗时end1 = time.time()print("父进程启动:%d" % os.getpid())headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36'}results = []for i in range(0, 1):print("第{}轮".format(i))url = "https://ysg.ckcest.cn/ysgList/api/index?pageSize=113&pageNum="+str(i)+"&_=1655211977545"req = requests.get(url, headers)# 原本re正在表达式中'\\'匹配'\',但是python中反斜杠本身就用于转义,故使用'\\\\'匹配'\'url_lists = re.findall('', req.text, re.S)# 去重url_lists = list(set(url_lists))processes = []pool = Pool(10)# 设置最大进程数设置为10for a_url in url_lists:# 创建子进程try:p = pool.apply_async(func=run, args=(a_url, headers))# func进程执行的任务, args传参数(元组)processes.append(p)except:print("进程启动失败!")pool.close()pool.join()for p in processes:if p.get() is not None:results.append(p.get())# 等待一段时间,防止被网站认为认为是攻击而强制关闭连接time.sleep(1)# 写入Exelto_exel(results, ['姓名', '性别', '族别', '本科学校', '入选院士年份'], "院士信息汇总.xlsx")end2 = time.time()print("耗时:%.2f秒" % (end2 - end1))

成功运行后:

2.根据院士名单,爬取该院士性别,族别信息;根据院士简介提取该院士就读本科学校,入选院士年份;将院士姓名,性别,族别信息,本科学校,入选院士年份信息写入excel文件。 

代码就上面的那个。 

 

 

 做这个作业时遇到了不少的问题,比如exel表格输出每次这样,这让我崩溃了,因此我做了不少的功课。最终还是失败了,但灵机一动用了一下别人代码就成功了哈。

 

 

 如果你们也遇到了上面的问题找办法解决,能解决的跟我说一声

 

 谢谢大家的浏览。

实验一:Python开发环境使用和编程初体验 - 1024搜-程序员 ...python实验环境搭建_百度文库python安装与环境搭建实验报告.doc下载-CSDN社区20184118 实验一《Python程序设计》实验报告 - RIICE - 博客园Python开发环境的搭建(小白适用) - 知乎小白三步完成Python数据分析环境搭建 - 知乎Python3 环境搭建 | 菜鸟教程Python 环境搭建 | 菜鸟教程嵌入式开发环境搭建实验 - 豆丁网Mac中安装Python环境和Django以及运行第一个Python项目数据挖掘实验报告利用python制作拼图小游戏的全过程python安装报告Python实现的简单计算器功能详解基于Anaconda的python开发环境搭建python程序设计》实验报告(一)Python搭建分布式测试环境学生成绩管理系统实验报告(新鲜出炉)Python语言初学总结【pytorch学习笔记】第一篇——环境搭建基于Python Django实现的图书管理系统含全部源代码和设计报告.rar名片管理系统——实验报告.docSpark编程基础(Python版)Python数据挖掘实践—决策树Python实现单隐层神经网络实验报告大数据分析技术-搭建Python开发平台与使用Python数据分析的工具.doc关于阿里云服务器上Django、Mysql、uwsgi、TensorFlow安装配置实验报告【树莓派入门】实验一 树莓派基本配置(基于Python《Linux与Python编程R》实验报告(2020)20192221 实验一《Python程序设计》实验报告Python开发环境Python绘图简明教程python实验报告01(Python运算符、内置函数(一))带注释python个人所得税实验报告+操作界面python接口测试之测试报告Python 实现简易计算器 ( 下 )python在财务中的应用实训报告-数据科学与大数据技术专业实训解决方案Python实现Linux环境下Hbase操作
python列表实验报告python课设实验报告python字典实验报告python上机实验报告总结python实验报告册python编程实验报告python数据处理实验报告python安装实验报告python环境搭建实验报告总结Python开发环境搭建实验报告python开发环境搭建实训报告python安装与开发环境搭建实验总结python安装实验报告python报告实验环境怎么写python测试环境搭建实验一python开发环境的使用python自动化测试环境搭建python安装的实验总结怎么引导孩子吃饭咀嚼小清新情头森系动漫疫情风险地区怎么降级2020年跨年湖南卫视晚会什么是雪中悍刀行家长会ppt优质课件上海大学各专业录取分数线2020少组词一年级两个字2008年奥运会男篮冠军是哪个国家为什么手机空间越多越流畅和老公要钱不给的心情