从必应那里搜刮足球预测

2024-06-26 15:02:39 发布

您现在位置:Python中文网/ 问答频道 /正文

当你使用bing搜索和fussball德甲的搜索时,bing会显示上周、本周和下周。比赛通常在周末举行。如果实际一周内没有一场比赛已经打过,你将得到每支球队获胜、输球或平局的概率。你知道吗

我已经可以从不需要扩展的页面中获得结果/预测,因为它们是在加载的html中。为了看到更多,我需要以某种方式扩展视图(可以通过图片中的圆圈看到)。在人类控制的浏览器中,这很简单。site on load

问题是,单击该箭头会发出执行javascript的onclick()事件。所以我想使用一些支持javascript的东西可能会有所帮助。到目前为止,我无法得到丢失的游戏,因为我无法编程点击箭头和加载页面。这是我的密码:

from bs4 import BeautifulSoup
from bs4.element import NavigableString
import requests
import sys  
from lxml import html
import spynner
from time import sleep

import dryscrape
from bs4 import BeautifulSoup

if __name__ == "__main__":
    url = "https://www.bing.com/search?q=fussball+bundesliga"

    sess = dryscrape.Session()
    sess.visit(url)
    response = sess.body()

    dryscrype_soup = BeautifulSoup(response,"lxml")
    #test = dryscrype_soup.findAll("div",{"id":"tab_3_dynamic"})
    dryscrape_actual_week =   dryscrype_soup.findAll("div",{"id":"sp-full-29"})
    dryscrape_text = [i for i in dryscrype_soup.recursiveChildGenerator() if type(i) == NavigableString]
    dryscrape_all_text = dryscrape_actual_week[0].findAll(text=True)


    browser = spynner.Browser(debug_level=spynner.DEBUG)
    browser.show(True,True)
    browser.load(url)
    browser.runjs("sj_evt.fire('ExpandClick', '29', '');",True)

    #browser.wk_click(".//*[@id='sp-expandTop-more-29']", wait_load=True)
    #browser.wk_click_ajax(selector=".//*[@id='sp-expandTop-more-29']")
    browser.wait_load()

    markup = browser._get_html()
    spynner_soup = BeautifulSoup(markup,"lxml")
    spynner_actual_week = spynner_soup.findAll("div",{"id":"sp-full-29"})
    spynner_all_text = spynner_actual_week[0].findAll(text=True)

别打扰进口,我已经试过好几种了。我试过MicrosoftsAzureAPI,但它只提供链接,而不是这些预测。当您查看被解析的html或变量spynner_all_textdryscrape_all_text时,您会注意到它们只包含来自未扩展网页的结果。希望有人能帮我。你知道吗


Tags: textfromimportbrowseridtruehtmlweek