Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 正在删除Wikipedia表,但未提供任何结果_Python - Fatal编程技术网

Python 正在删除Wikipedia表,但未提供任何结果

Python 正在删除Wikipedia表,但未提供任何结果,python,Python,冒险进入python世界。我完成了codeacademy课程,浏览了stack和youtube,但遇到了一个我无法解决的问题 我试图对维基百科中的一个表进行简单的打印,但在编写自己的代码时失败了。我决定使用一个教程示例进行构建。然而,这不起作用,我也不知道为什么 这是包含适当链接的代码。我的最终结果是一个空列表“[]”。我正在使用PyCharm 2017.2、beautifulsoup 4.6.0、requests 2.18.4和python 3.6.2。谢谢你的建议。作为参考,教程网站是 您可

冒险进入python世界。我完成了codeacademy课程,浏览了stack和youtube,但遇到了一个我无法解决的问题

我试图对维基百科中的一个表进行简单的打印,但在编写自己的代码时失败了。我决定使用一个教程示例进行构建。然而,这不起作用,我也不知道为什么

这是包含适当链接的代码。我的最终结果是一个空列表“[]”。我正在使用PyCharm 2017.2、beautifulsoup 4.6.0、requests 2.18.4和python 3.6.2。谢谢你的建议。作为参考,教程网站是


您可以使用正则表达式来实现这一点

  • 您可以通过
    requests.get(WIKI\u URL)获取网站内容。content
  • 请参阅该网站的源代码,了解Wikipedia如何以HTML格式显示表格
  • 找到一个可以适合整个表的正则表达式(可能类似于
    (?P*+?)
    )。这样做的目的是获取
    令牌之间的任何内容。适用于带有python的正则表达式。看看
    re.findall()
  • 现在只剩下表数据了。您可以再次使用正则表达式获取每行的数据,然后使用每行上的正则表达式获取列
    re.findall()
    再次成为关键

  • table_classes={“class”:[“sortable”,“plainrowheaders”]}
    更改为
    table_classes={“class”:“sortable”}
    ?运气不好,结果相同。抱歉,我的意思是不将其创建为列表。查看上面我编辑的json。仍然没有运气,删除方括号并按列表打印。这已经得到了它,花了时间将它分解并找到一个表达式,我的控制台又恢复了生命。我还没有准备好桌子,但我准备好了会告诉你的。
    import requests
    from bs4 import BeautifulSoup
    
    WIKI_URL = "https://en.wikipedia.org/wiki/List_of_volcanoes_by_elevation"
    
    req = requests.get(WIKI_URL)
    soup = BeautifulSoup(req.content, 'lxml')
    table_classes = {"class": ["sortable", "plainrowheaders"]}
    wikitables = soup.findAll("table", table_classes)
    
    print(wikitables)