gpt4 book ai didi

python - 从 JS 生成的站点解析

转载 作者:太空宇宙 更新时间:2023-11-03 18:37:59 24 4
gpt4 key购买 nike

我正在尝试从 JS 生成的站点解析 (623) 337-****。我的代码是:

from selenium import webdriver
import re
browser = webdriver.Firefox()
browser.get('http://www.spokeo.com/search?q=Joe+Henderson,+Phoenix,+AZ&sao7=t104#:18643819031')
content = browser.page_source
browser.quit()
m_obj = re.search(r"(\(\d{3}\)\s\d{3}-\*{4})", content)
if m_obj:
print m_obj.group(0)

由于某种原因,它不打印任何内容。感谢任何帮助

旁注:有没有更快的方法在Python中做到这一点

最佳答案

问题在于某些内容是通过页面加载 ajax 请求动态加载的。

您应该等到元素变得可见( documentation ) - 然后获取页面的源代码:

import re

from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait


browser = webdriver.Firefox()
browser.get('http://www.spokeo.com/search?q=Joe+Henderson,+Phoenix,+AZ&sao7=t104#:18643819031')

WebDriverWait(browser, 10).until(EC.presence_of_element_located((By.ID, "profile_details_section_header")))
content = browser.page_source

m_obj = re.search(r"(\(\d{3}\)\s\d{3}-\*{4})", content)
if m_obj:
print m_obj.group(0)

browser.quit()

或者您可以调用 time.sleep()browser.implicitly_wait() - 尽管听起来不太正确。

打印 (623) 337-****

希望有帮助。

关于python - 从 JS 生成的站点解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21179508/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com