查看源码,观察html结构

  1. # -*- coding: utf-8 -*-
  2. from lxml.html import parse
  3. from urllib.request import urlopen
  4. import pandas as pd
  5. # 可能爬的这个网页比较特殊,需要写下面两句话
  6. import ssl
  7. ssl._create_default_https_context = ssl._create_unverified_context
  8. # 根据链接获得整个html放到doc中
  9. parsed = parse(urlopen('https://info.zufe.edu.cn/xygk/szdw.htm'))
  10. doc = parsed.getroot()
  11. #读取html中的table
  12. # 用列表来存老师名字
  13. all_teachers=[]
  14. # 用字典保存主页链接
  15. link_dic={}
  16. # 用字典保存职称
  17. zhicheng={}
  18. # 找到html中有<table></table>的所有table,以列表的形式返回给tables
  19. tables = doc.findall('.//table')
  20. # 我们要的是第一个table
  21. content=tables[0].text_content()
  22. tds = tables[0].findall('.//td')
  23. # 一条条遍历所有td里的内容
  24. for td in tds:
  25. # 判断当前属于哪个职称,再给zc赋值
  26. zhi=td.findall('.//strong')
  27. if len(zhi)!=0:
  28. print(zhi[0].text_content())
  29. zc=zhi[0].text_content()
  30. print(td.text_content())
  31. link=td.findall('.//a')
  32. if len(link)!=0:
  33. print("link",link[0].get('href'))
  34. # td.text_content()存的就是姓名
  35. # 保存链接
  36. link_dic[td.text_content()]=link[0].get('href')
  37. # 保存老师姓名
  38. all_teachers.append(str(td.text_content()))
  39. # 保存职称
  40. zhicheng[td.text_content()]=zc
  41. print("张 帅的主页链接是:",link_dic["张 帅"])
  42. print("张 帅的职称链接是:",zhicheng["张 帅"])
  43. # 后面的各系不属于老师去掉
  44. all_teachers=all_teachers[:68]
  45. #姓名,职称,主页链接整理成dataframe
  46. dataframe={"姓名":[],
  47. "职称":[],
  48. "主页链接":[]}
  49. for teacher in all_teachers:
  50. dataframe["姓名"].append(teacher)
  51. dataframe["职称"].append(zhicheng[teacher])
  52. dataframe["主页链接"].append(link_dic[teacher])
  53. dataframe=pd.DataFrame(dataframe)
  54. print(dataframe)

Python——python读取html实战,作业7(python programming)的更多相关文章

  1. python基础 实战作业 ---Excel基本读写与数据处理

    代码地址如下:http://www.demodashi.com/demo/11650.html 看完本篇需要: 10min 作业练习需要: 0.5h~3h(依练习者对python熟悉程度而定) 看完本 ...

  2. Python数据可视化编程实战pdf

    Python数据可视化编程实战(高清版)PDF 百度网盘 链接:https://pan.baidu.com/s/1vAvKwCry4P4QeofW-RqZ_A 提取码:9pcd 复制这段内容后打开百度 ...

  3. Python接口测试实战2 - 使用Python发送请求

    如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...

  4. Python接口自动化测试框架实战 从设计到开发

    第1章 课程介绍(不要错过)本章主要讲解课程的详细安排.课程学习要求.课程面向用户等,让大家很直观的对课程有整体认知! 第2章 接口测试工具Fiddler的运用本章重点讲解如何抓app\web的htt ...

  5. 使用 python 查看谁没有交作业

    话说实验报告每天都要查人数,何不用程序实现 使用 python 查看谁没有交作业 version 1.0 程序嘛,肯定是可以改进的.使用该程序的前提是实验报告文件名中包含学号信息.将以上程序放在实验报 ...

  6. python工业互联网应用实战2—从需求开始

    前言:随着国家工业2025战略的推进,工业互联网发展将会提速,将迎来一个新的发展时期,越来越多的企业开始逐步的把产线自动化,去年年底投产的小米亦庄的智能工厂就是一个热议的新闻.小米/华为智能工厂只能说 ...

  7. python数据可视化编程实战PDF高清电子书

    点击获取提取码:3l5m 内容简介 <Python数据可视化编程实战>是一本使用Python实现数据可视化编程的实战指南,介绍了如何使用Python最流行的库,通过60余种方法创建美观的数 ...

  8. 2003031121——浦娟——Python数据分析第七周作业——MySQL的安装及使用

    项目 要求 课程班级博客链接 20级数据班(本) 作业要求链接 Python第七周作业 博客名称 2003031121--浦娟--Python数据分析第七周作业--MySQL的安装及使用 要求 每道题 ...

  9. 2003031121-浦娟-python数据分析第三周作业-第一次作业

    项目 内容 课程班级博客链接 https://edu.cnblogs.com/campus/pexy/20sj 作业链接 https://edu.cnblogs.com/campus/pexy/20s ...

  10. 【Python】:简单爬虫作业

    使用Python编写的图片爬虫作业: #coding=utf-8 import urllib import re def getPage(url): #urllib.urlopen(url[, dat ...

随机推荐

  1. MariaDB第四章:视图,事务,索引,外键--小白博客

    视图 对于复杂的查询,在多个地方被使用,如果需求发生了改变,需要更改sql语句,则需要在多个地方进行修改,维护起来非常麻烦 假如因为某种需求,需要将user拆房表usera和表userb,该两张表的结 ...

  2. 相片后期处理,PS调出温暖的逆光美女

    原图: 效果图: 后面就是开PS导图: 说明下,因为拍的时候大概知道自己的方法会让照片变暖,现场光线又很暖,所以色温要调低一些,这边是4100,其他不用变,直接转JPG调色了 1:第一步是加第一个曲线 ...

  3. PHP获取项目所有控制器方法名称

    PHP获取项目所有控制器方法名称 //获取模块下所有的控制器和方法写入到权限表 public function initperm() { $modules = array('admin'); //模块 ...

  4. nginx编译文件配置(原)

    1.在根目录的opt下创建文件夹software并wget一个nginx包进行解压,/opt/software/,解压后需要对软件包文件进行授权 2.cd到nginx目录输入id nginx 未安装插 ...

  5. SpringBoot与Mybatis整合的设置

    Mybatis和Spring Boot的整合有两种方式: 第一种:使用mybatis官方提供的Spring Boot整合包实现,地址:https://github.com/mybatis/spring ...

  6. Django 视图系统

    Django 视图系统 概念 一个视图函数,简称视图,是一个简单的Python函数,用于接受Web请求并返回Web响应. 通常将视图函数写在project或app目录中的名为views.py文件中 简 ...

  7. 10.2 Vue 环境安装

     Vue 环境安装 环境准备  nodejs 下载安装  https://nodejs.org/en/ 查看下载版本 C:\>node -v v7.6.0 C:\>npm -v 4.1.2 ...

  8. Mybatis Generator的model生成中文注释,支持oracle和mysql(通过实现CommentGenerator接口的方法来实现)

    自己手动实现的前提,对maven项目有基本的了解,在本地成功搭建了maven环境,可以参考我之前的文章:maven环境搭建 项目里新建表时model,mapper以及mapper.xml基本都是用My ...

  9. Token防止表单重复提交和CSRF攻击

    Token,可以翻译成标记!最大的特点就是随机性,不可预测,一般黑客或软件无法猜测出来. Token一般用在两个地方: 1: 防止表单重复提交 2: anti csrf攻击(Cross-site re ...

  10. CMDB服务器管理系统【s5day88】:采集资产-文件配置(二)

    上节疑问: 1.老师我们已经写到global_settings里了,为什么还要写到__init__.py setting 这的作用是为了:整合起两个的组合global_settings和setting ...