gpt4 book ai didi

javascript - 从页面中提取启用 JavaScript 的数据

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

我正在尝试提取此 link 中的彩色文本。我在 python 中使用 BeautifulSoup 。代码如下:

import time, urllib2, re
from bs4 import BeautifulSoup
url='http://de.vroniplag.wikia.com/wiki/Aaf/008'
def gethtml(link):
time.sleep(2)
req = urllib2.Request(link, headers={'User-Agent': "Magic Browser"})
con = urllib2.urlopen(req)
html = con.read()
return html

soup=BeautifulSoup(gethtml(url),'html.parser')
print soup.findAll('span', attrs={"class": re.compile('fragmark')})

但返回结果为空。我该如何更改它才能使其正常工作?

更新:

我使用的是chromedriver,代码如下:

from selenium import webdriver
import os

chromedriver = "./chromedriver"
os.environ["webdriver.chrome.driver"] = chromedriver
driver = webdriver.Chrome(chromedriver)

driver.get('http://de.vroniplag.wikia.com/wiki/Aaf/008')
for tag in driver.find_elements_by_css_selector('[class^=fragmark]'):
print(tag.text)
driver.quit()

但是浏览器会打开。结果没有出现。我关闭浏览器,然后出现错误。

最佳答案

您需要使用可以解释javascript的库。例如使用 selenium因为那些带有 fragmark1, fragmark2, ... 的元素是由 javascript 创建的。

from selenium.webdriver import Chrome as Driver
# Replace with `Chrome` with your system browser

driver = Driver()
driver.get('http://de.vroniplag.wikia.com/wiki/Aaf/008')
for tag in driver.find_elements_by_css_selector('[class^=fragmark]'):
print(tag.text)

关于javascript - 从页面中提取启用 JavaScript 的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38159366/

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