Python解析器输出无

时间:2017-05-15 16:52:46

标签: python python-3.x parsing html-parsing

一般情况下,我尝试从此网站获取至少一些标签,并且始终不提供任何标签。我不知道如何解决这个问题。

有一个按钮Tickets,从侧面按下它后还有一个额外的面板,所以我想解析它,我无法理解如何。据我了解,点击后没有立即加载此选项卡,接下来该做什么我不明白。附:刚开始学习它。

# coding: utf-8-sig
import urllib.request
from bs4 import BeautifulSoup

headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36"}

def get_html(url):

    request = urllib.request.Request(url,None,headers)
    response = urllib.request.urlopen(request)
    return response.read()

def parse(html):

    soup = BeautifulSoup(html,"html.parser")
    table = soup.find('body', class_='panel-open')
    print(table)

def  main():
    parse(get_html('http://toto-info.co/'))

if __name__ == '__main__':
    main()

1 个答案:

答案 0 :(得分:0)

那是因为网页http://toto-info.co/的body元素不包含class属性“panel-open”。

您可以通过更改代码中的行来查看body元素包含的内容:

table = soup.find('body')

table = soup.find('div', class_='standalone')

现在将打印body元素及其包含的所有元素。

正如您将看到body元素包含非常少的脚本,如果您想让脚本呈现,您将不得不使用其他技术,我建议您进行Google搜索初学者,例如Web-scraping JavaScript page with Python

如果您感兴趣的话,按类选择某个内容的示例是:

<div class="standalone" data-app="" id="app"></div>

但是从这个页面中选择:

{{1}}

但这是关于此页面上没有JavaScript显示的所有标记。