zoukankan      html  css  js  c++  java
  • 这个Pandas函数可以自动爬取Web图表

    import pandas as pd
    
    pd.set_option('display.max_columns', None)  # 显示的最大行数  None:全部显示
    pd.set_option('display.max_rows', None)  # 显示的最大列数  None:全部显示
    pd.set_option('expand_frame_repr', False)  # True就是可以换行显示。设置成False的时候不允许换行
    pd.set_option('display.width', 200)  # 横向最多显示多少个字符, 一般80不适合横向的屏幕,平时多用200.
    pd.set_option('precision', 10)  # 显示小数点
    
    url = "http://fund.eastmoney.com/fund.html"
    data = pd.read_html(url, attrs={'id': 'oTable'})  # 'id': 'oTable':获取id属性是oTable表格
    # 查看表格数量
    tablenum = len(data)
    print(tablenum)
    print(data)
    
    
    '''
    pandas.read_html(io, match='.+', flavor=None, header=None, index_col=None, skiprows=None, attrs=None, parse_dates=False, thousands=', ', encoding=None, decimal='.', converters=None, na_values=None, keep_default_na=True, displayed_only=True)
    
    io: io:接收网址、文件、字符串 str, path object 或 file-like objectURL,file-like对象或包含HTML的原始字符串。请注意,lxml仅接受http,ftp和文件url协议。如果您的网址以'https'您可以尝试删除's'。
    match: str 或 compiled regular expression, 可选参数将返回包含与该正则表达式或字符串匹配的文本的表集。除非HTML非常简单,否则您可能需要在此处传递非空字符串。默认为“。+”(匹配任何非空字符串)。默认值将返回页面上包含的所有表。此值转换为正则表达式,以便Beautiful Soup和lxml之间具有一致的行为。
    flavor: str 或 None要使用的解析引擎。‘bs4’和‘html5lib’彼此同义,它们都是为了向后兼容。默认值None尝试使用lxml解析,如果失败,它会重新出现bs4+html5lib。
    header: 指定列名所在的行  int 或 list-like 或 None, 可选参数该行(或MultiIndex)用于创建列标题。
    index_col: int 或 list-like 或 None, 可选参数用于创建索引的列(或列列表)。
    skiprows: int 或 list-like 或 slice 或 None, 可选参数解析列整数后要跳过的行数。从0开始。如果给出整数序列或切片,将跳过该序列索引的行。请注意,单个元素序列的意思是“跳过第n行”,而整数的意思是“跳过n行”。
    attrs: 传递一个字典,用其中的属性筛选出特定的表格  dict 或 None, 可选参数这是属性的词典,您可以传递该属性以用于标识HTML中的表。在传递给lxml或Beautiful Soup之前,不会检查它们的有效性。但是,这些属性必须是有效的HTML表属性才能正常工作。例如, attrs = {'id': 'table'} 是有效的属性字典,因为‘id’ HTML标记属性是任何HTML标记的有效HTML属性,这个文件。attrs = {'asdf': 'table'} 不是有效的属性字典,因为‘asdf’即使是有效的XML属性,也不是有效的HTML属性。可以找到有效的HTML 4.01表属性这里。可以找到HTML 5规范的工作草案这里。它包含有关现代Web表属性的最新信息。
    parse_dates: bool, 可选参数参考read_csv()更多细节。
    thousands: str, 可选参数用来解析成千上万个分隔符。默认为','。
    encoding: str 或 None, 可选参数用于解码网页的编码。默认为NoneNone保留先前的编码行为,这取决于基础解析器库(例如,解析器库将尝试使用文档提供的编码)。
    decimal: str, 默认为 ‘.’可以识别为小数点的字符(例如,对于欧洲数据,请使用“,”)。
    converters: dict, 默认为 None用于在某些列中转换值的函数的字典。键可以是整数或列标签,值是采用一个输入参数,单元格(而非列)内容并返回转换后内容的函数。
    na_values: iterable, 默认为 None自定义NA值。
    keep_default_na: bool, 默认为 True如果指定了na_values并且keep_default_na为False,则默认的NaN值将被覆盖,否则将附加它们。
    displayed_only: bool, 默认为 True是否应解析具有“display:none”的元素。
    
    最后, read_html() 仅支持静态网页解析,你可以通过其他方法获取动态页面加载后response.text 传入 read_html() 再获取表格数据。
    '''
    

      

  • 相关阅读:
    1451. Rearrange Words in a Sentence
    1450. Number of Students Doing Homework at a Given Time
    1452. People Whose List of Favorite Companies Is Not a Subset of Another List
    1447. Simplified Fractions
    1446. Consecutive Characters
    1448. Count Good Nodes in Binary Tree
    709. To Lower Case
    211. Add and Search Word
    918. Maximum Sum Circular Subarray
    lua 时间戳和时间互转
  • 原文地址:https://www.cnblogs.com/yoyo1216/p/14753907.html
Copyright © 2011-2022 走看看