2017-06-06 6 views
0

beautifulsoupを使用してangularjsサイトをウェブスクレイプしようとしています。このサイトはanglejsサイトであり、javascriptから完全に生成されています。angularjsサイトをWebスクラビングする

サイトは次のとおりです。https://sports.bovada.lv/baseball/mlb/pitcher-props-market-group

は私がちょうどwebdriverを戦略phantomjsを使用すると考えていました。ここ は、私が持っているものされています。ここからどこへ行くの

<html><head></head><body></body></html> 

任意のアイデア:ただし、...この出力を所望の出力を得ていない

PHANTOMJS_PATH = './phantomjs.exe' 
bovadaURL = 'https://sports.bovada.lv/baseball/mlb/pitcher-props-market-group' 
driver = webdriver.PhantomJS(PHANTOMJS_PATH) 
driver.get(bovadaURL) 
driver.set_window_position(0, 0) 
driver.set_window_size(100000, 200000) 
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);") 
time.sleep(15) # wait to load 
# now print the response 
print(driver.page_source) 

?アイデアがなくなります..

答えて

0

リクエストを試しましたか?私はちょうど迅速かつ汚れたスクリプトを試して、<html><head><body>以上のタグを持っています。

#!/usr/bin/python3 

import requests, bs4 

res = requests.get('https://sports.bovada.lv/baseball/mlb/pitcher-props-market-group') 
soup = bs4.BeautifulSoup(res.text,'html.parser') 

print(res.text) 

は応答をテストするためにprint文を挿入し、これが出力されます:

<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"... more 
<!--[if IE]><![endif]--> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
<meta http-equiv="x-dns-prefetch-control" content="on">... more 
<meta name="theme-color" content="#ffffff"> 
<link href="https://sports.bovada.lv/base... more 
etc... much longer html stuff 

とBS4のためとして、私はちょうど速く、すべてを探しているような何かを行う場合は、同様にスムーズに動作するようですリンク(彼らは<link>タグを使用)、この:

#!/usr/bin/python3 

import requests, bs4 

res = requests.get('https://sports.bovada.lv/baseball/mlb/pitcher-props-market-group') 

soup = bs4.BeautifulSoup(res.text,'html.parser') 
links = soup.find_all('link') 

for link in links: 
    print(link.attrs['href']) 

は、次の出力を生成10

>python test.py 
//cdn13-a.imagestore.lv 
//cdn13-b.imagestore.lv 
//cdn13-c.imagestore.lv 
https://cdn13-a.imagestore.lv/sites/site10/themes/websites_bovada_theme/favicon.ico 
https://cdn13-a.imagestore.lv/static/site10/favicons/apple-icon-57x57.png 
https://cdn13-b.imagestore.lv/static/site10/favicons/apple-icon-60x60.png 
https://cdn13-b.imagestore.lv/static/site10/favicons/apple-icon-72x72.png 
https://cdn13-c.imagestore.lv/static/site10/favicons/apple-icon-76x76.png 
https://cdn13-b.imagestore.lv/static/site10/favicons/apple-icon-114x114.png 
etc... 

それは役に立ちますか?

編集: これまでのように、ヘッドレスブラウザを使用することはできません。だから、あなたはfirefoxのような普通のものを使う必要がある。 (まだ行ってhaventは場合は)しかし、最初に、あなたは、geckodriverを取得し、ここでそれを見つける必要があります。

https://github.com/mozilla/geckodriver/releases

は、あなたのPATHにこれを追加する必要があります。 これで済むと、そのサイトでseleniumを実行し、いつものようにbs4を再度実行できるはずです。

enter image description here

+0

私の問題は私の接続が早く、私は、それが私のUSSEだと思う時々私はページをロードすることができるよ...と時々私はできない、それは – skipper

+0

する必要があるとして、ロードされていないことかもしれないと思います.. – skipper

+0

それはスピードのものでなければなりません – skipper

関連する問題