我想下载由生成的网页Javascript
,并将其存储到Python
代码中的字符串变量中。当您单击按钮时,将生成该页面。
如果我知道使用的结果URL,urllib2
则不是这种情况。
谢谢
您可以使用Selenium Webdriver:
#!/usr/bin/env python
from contextlib import closing
from selenium.webdriver import Firefox # pip install selenium
from selenium.webdriver.support.ui import WebDriverWait
# use firefox to get page with javascript generated content
with closing(Firefox()) as browser:
browser.get(url)
button = browser.find_element_by_name('button')
button.click()
# wait for the page to load
WebDriverWait(browser, timeout=10).until(
lambda x: x.find_element_by_id('someId_that_must_be_on_new_page'))
# store it to string variable
page_source = browser.page_source
print(page_source)
问题内容: 我需要用python抓取网站。我使用urlib模块获取了源html代码,但是我还需要抓取由javascript函数(包含在html源代码中)生成的html代码。该功能在站点中的作用是,当您按下按钮时,它会输出一些html代码。如何使用python代码“按”此按钮?可以帮助我吗?我用firebug捕获了POST请求,但是当我尝试在url上传递它时,出现403错误。有什么建议么? 问题答案
问题内容: 我有一个webBrowser,在Visual Studio中有一个标签,基本上我想做的是从另一个网页中抓取一个部分。 我尝试使用WebClient.DownloadString和WebClient.DownloadFile,在JavaScript加载内容之前,它们都为我提供了网页的源代码。我的下一个想法是使用WebBrowser工具,并在页面加载后仅调用webBrowser.Docum
问题内容: 我正在尝试开发一个简单的网页抓取工具。我想提取没有代码的文本。我实现了这个目标,但是我发现在某些加载了的页面中,我没有获得良好的结果。 例如,如果一些代码添加了一些文本,则看不到它,因为当我调用 我得到的原始文本没有添加文本(因为在客户端执行了)。 因此,我正在寻找一些解决此问题的想法。 问题答案: 一旦安装了,请确保二进制文件在当前路径中可用: 例 举个例子,我用以下HTML代码创建
我有一个网站,我想自动执行一些操作,但页面是由2个JavaScript文件生成的,在html中定义如下: 运行时。js大约有70行代码和应用程序。js大约有4万行。。。我不知道如何阅读代码,因为我不懂任何JavaScript,我的Pyton知识也不过是一点点而已;) 我想分享这个特定的网站,但这个页面是在登录之后的。因此,我已经设法使用两种不同的方法进入页面,但在JS生成的下一个页面中找不到按下按
问题内容: 有没有一种语法更简洁的方式编写以下内容? 生成器应该具有一个表达式,该表达式充当列表,但在功能上与上述代码相同,这似乎是很自然的。 问题答案: 一种方法是使用
问题内容: 我的问题是:如何从网抓取数据,但是直到您单击例如“ Danhsáchchậm”,该数据才显示。我已经非常认真地尝试,当您单击“ Danhsáchchậm”时,这是onclick事件,它触发了一些javascript函数js函数之一是从服务器获取数据并将其插入到标签/占位符中,并在这时,您可以使用firefox之类的方法检查数据,是的,数据会在网页上显示给用户/查看者。因此,我们又该如何