1
私は助けが必要です。私はいくつかの数字をウェブサイトから削り取ろうとしています(下のコードのリンクを参照)。 JavaScriptを使用してWebサイトがロードされているので、まずセレンを使用してページをロードし、xlmlに渡してデータを解析します。Seleniumとlxmlを使ったPython Webスクレイピング
私が使用していたコードは以下の通りです:
from selenium import webdriver
from lxml import html
import time
url = "http://sebgroup.com/large-corporates-and-institutions/prospectuses-and-downloads/rates/swap-rates"
xpath = '//*[@id="doc"]/table[2]/tbody/tr[3]/text()'
chrome_path = "my_path"
browser = webdriver.Chrome(chrome_path)
browser.get(url)
time.sleep(10)
html_source = browser.page_source
tree = html.fromstring(html_source)
text = tree.xpath(xpath)
print (text)
私が直接私のブラウザかかわらず、私はソースコードの数字を見ることができるページを見てください。しかし、私がセレンを使って同じことをするとき、私が見るソースコードは異なっています。私はこれにウェブサイトが何らかの反掻き取りソフトウェアを持っているかどうか疑問に思っていましたか?とにかくまだデータを取得するには? (私は学術的な使用のためにそれらが必要です)。
firefoxドライバを使用しようとしましたか? –
親ページを解析するのではなく、iframe srcを使用してください... https://seb.se/pow/apps/swaprates/default.aspx – Archer
xpath内でtbodyタグを使用しないでください。このタイプのタグは、ブラウザが何度か実行され、xpathの障害が発生します。 –