1
linkの色付きのテキストを抽出しようとしています。私はPythonでBeautifulSoupを使用しています。コードは次のとおりです。ページからのJavaScript有効データの抽出
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')})
返される結果は空です。それを動作させるにはどうすれば変更できますか?
UPDATE:次のように私はコードで、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()
しかし、ブラウザが開きます。結果は表示されません。ブラウザを閉じてエラーが発生します。
回答ありがとうございました。私はクロムを持っていない。私はクロムドライブを使用しています。新しいコードをUPDATEとして投稿しました。どうかチェックしてください –
Firefoxをインストールしている場合は、 'FireFox'で' Chrome'を変更することができます。 (PhantomJS、Edge、Opera、Ie、Safari、...も可能です)。 'import selenium.webdriver; print(dir(selenium.webdriver)) ' – falsetru