当你使用bing搜索和fussball德甲的搜索时,bing会显示上周、本周和下周。比赛通常在周末举行。如果实际一周内没有一场比赛已经打过,你将得到每支球队获胜、输球或平局的概率。你知道吗
我已经可以从不需要扩展的页面中获得结果/预测,因为它们是在加载的html中。为了看到更多,我需要以某种方式扩展视图(可以通过图片中的圆圈看到)。在人类控制的浏览器中,这很简单。
问题是,单击该箭头会发出执行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_text
和dryscrape_all_text
时,您会注意到它们只包含来自未扩展网页的结果。希望有人能帮我。你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐