代码之家  ›  专栏  ›  技术社区  ›  displayuser

无法对所有未获取所有<td>值的数据进行Web擦除

  •  0
  • displayuser  · 技术社区  · 7 年前

    我正在尝试为该站点清除HTML表,但无法获取chhange(24h)列

    from requests import get
    from urllib.request import urlopen
    from bs4 import BeautifulSoup
    import pandas as pd
    import matplotlib.pyplot as plt
    
    content = urlopen("https://coinmarketcap.com/")
    soup = BeautifulSoup(content, 'html.parser')
    rows = soup.find_all('tr')
    for row in rows:
        row.find('td', {'data-timespan': '24h'}).text)
    

    尝试调试时无法获取更改(24h)的标记 里面有那个标签

    2 回复  |  直到 7 年前
        1
  •  0
  •   Prakhar Agnihotri    7 年前

    源页面显示,它们关闭了一个额外的锚标记,就在您需要的元素附近。所以,bsoup无法得到它。很可能,这是故意的,目的是为了引入一层复杂性,让人们放弃它。:p或可能是无意的。

    查看图像中标记文本的第一行和最后一行,两个标记,导致bsoup的DOM解析器混乱。

    所以解决方案是,直接查找这些元素,而不是遍历每个元素的子元素,因为这就是罪犯结束标记存在的地方。

    从请求导入获取 从urllib.request导入urlopen 来自BS4进口美汤 content=urlopen(“https://coinmarketcap.com/”) soup=beautifulsoup(内容'html.parser') rows=soup.find all('td','data-timespan':'24h') 对于行中的行: 打印(行) < /代码>

    这给了你想要的。 另一种方法是通过循环内部的regexp模式匹配器从“row”(引用代码)中查找所需元素。

    无意中引入了一层复杂性,让人们放弃了。:p或可能是无意的。

    enter image description here

    查看图像中标记文本的第一行和最后一行,两个标记,导致bsoup的DOM解析器混乱。

    所以解决方案是,直接查找这些元素,而不是遍历每个元素的子元素,因为这就是罪犯结束标记所在的位置。

    from requests import get
    from urllib.request import urlopen
    from bs4 import BeautifulSoup
    
    
    content = urlopen("https://coinmarketcap.com/")
    soup = BeautifulSoup(content, 'html.parser')
    
    rows = soup.find_all('td', {'data-timespan': '24h'})
    
    for row in rows:
        print(row)
    

    这给了你想要的。 另一种方法是通过循环内部的regexp模式匹配器从“row”(引用代码)中查找所需元素。

        2
  •  0
  •   iamklaus    7 年前

    嘿,你可以用我做的包裹… https://github.com/sarthaknegi/easy_scrape

    简单的

    from easy_scrape.scrape_table import scrape_table
    
    scrape_obj =scrape_table(#give your path to the chrome driver)
    data = scrape_obj.table(url = 'https://coinmarketcap.com/' , class_name='dataTable')
    

    注意:不要忘记

    PIP安装Selenium& PIP安装易刮

    注:另外,请根据需要编辑结果。

    PS:请检查他们的robots.txt

    推荐文章