• 【转】Python——读取html的table内容


    Python——python读取html实战,作业7(python programming)

    查看源码,观察html结构

    复制代码
    # -*- coding: utf-8 -*-
    from lxml.html import parse
    from urllib.request import urlopen
    import pandas as pd
    
    # 可能爬的这个网页比较特殊,需要写下面两句话
    import ssl
    ssl._create_default_https_context = ssl._create_unverified_context
    
    # 根据链接获得整个html放到doc中
    parsed = parse(urlopen('https://info.zufe.edu.cn/xygk/szdw.htm'))
    doc = parsed.getroot()
    
    #读取html中的table
    # 用列表来存老师名字
    all_teachers=[]
    # 用字典保存主页链接 
    link_dic={}
    # 用字典保存职称
    zhicheng={}
    
    # 找到html中有<table></table>的所有table,以列表的形式返回给tables
    tables = doc.findall('.//table')
    # 我们要的是第一个table
    content=tables[0].text_content()
    tds = tables[0].findall('.//td')
    
    # 一条条遍历所有td里的内容
    for td in tds:
        # 判断当前属于哪个职称,再给zc赋值
        zhi=td.findall('.//strong')
        if len(zhi)!=0:
            print(zhi[0].text_content())
            zc=zhi[0].text_content()
            
        print(td.text_content())
        link=td.findall('.//a')
        if len(link)!=0:
            print("link",link[0].get('href'))
            # td.text_content()存的就是姓名
            # 保存链接
            link_dic[td.text_content()]=link[0].get('href')
            # 保存老师姓名
            all_teachers.append(str(td.text_content()))
            # 保存职称
            zhicheng[td.text_content()]=zc
    
    print("张 帅的主页链接是:",link_dic["张 帅"])
    print("张 帅的职称链接是:",zhicheng["张 帅"])
    
    # 后面的各系不属于老师去掉
    all_teachers=all_teachers[:68]
    
    #姓名,职称,主页链接整理成dataframe
    dataframe={"姓名":[],
               "职称":[],
               "主页链接":[]}
    for teacher in all_teachers:
        dataframe["姓名"].append(teacher)
        dataframe["职称"].append(zhicheng[teacher])
        dataframe["主页链接"].append(link_dic[teacher])
    dataframe=pd.DataFrame(dataframe) 
    print(dataframe) 
    复制代码

  • 相关阅读:
    批量导出数据库表(oracle)
    Neo4j安装配置(mac)
    项目实施计划方案
    分布式数据库笔记
    SQL优化——ORACLE
    INNER JOIN & OUTER JOIN
    sqlMap.xml配置文件中迭代一个集合的方式
    sql下的xml配置文件中特殊使用的sql语句编写
    将查询列表内容保存到excel表格中,并保存到相应的盘中
    Spring框架中AOP特性
  • 原文地址:https://www.cnblogs.com/wwwwwei/p/10728060.html
Copyright © 2020-2023  润新知