首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让python请求或urllib2等待最终页面

如何让python请求或urllib2等待最终页面
EN

Stack Overflow用户
提问于 2019-02-09 03:05:51
回答 1查看 108关注 0票数 0

我正在使用python请求和漂亮汤来验证一个html文档。但是,登录页面的服务器有一些后端代码,这些代码在呈现最终的html文档之前会延迟几秒钟。我尝试过redirect=true方法,但最终还是使用了原始文档。在浏览器上加载url时,服务器创建页面时会有2-3秒的延迟。我尝试过不同的示例,比如页面加载后的url2.geturl(),但所有这些示例都会返回原始的url (并且在2-3秒过去之前做得很好)。我需要一个模拟浏览器的东西,并抓取最终的文档。

顺便说一句,我能够在Chrome中查看正确的DOM元素,只是在python中没有问题。

EN

回答 1

Stack Overflow用户

发布于 2019-02-09 05:49:31

经过几个循环后就明白了这一点。这需要两种解决方案的组合(使用python selenium包和time.sleep)。将后台chrome进程设置为无头运行,获取url,等待服务器端代码完成,然后加载文档。在这里,我使用BeautifulSoup来解析DOM。

代码语言:javascript
复制
from selenium import webdriver
from bs4 import BeautifulSoup
import time

def run():

    url = "http://192.168.1.55"
    options = webdriver.ChromeOptions()
    options.add_argument('headless')
    browser = webdriver.Chrome(chrome_options=options)
    browser.get(url)
    time.sleep(5)
    bs = BeautifulSoup(browser.page_source, 'html.parser')
    data = bs.find_all('h3')


if __name__ == "__main__":
    run()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54598771

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档