前提・実現したいこと
現在、pythonとseleniumを使って、Amazonから自動で検索結果を得ていますが、seleniumを使用しているため、firefoxが必須で、例えばCentOS などのコンソールで動作させることができません。
調べ方が悪いのかもしれませんが、例えばurllib2などに、現在、seleniumで実現しているWEB操作などを移植する方法を得ることができませんでしたので、質問とさせていただきます。
該当のソースコード
python
1from selenium import webdriver 2from bs4 import BeautifulSoup 3 4#firefox起動 5driver = webdriver.Firefox() 6 7#ブラウザセット 8driver.get("https://www.amazon.co.jp/"); 9 10element = driver.find_element_by_id('twotabsearchtextbox') 11element.clear() 12element.send_keys('python') 13 14#クリック 15driver.find_element_by_xpath("//div[1]/header/div/div[1]/div[3]/div/form/div[2]/div/input").click() 16 17html = driver.page_source 18soup = BeautifulSoup(html, "html.parser") 19 20for tag in soup.find_all('a', class_="a-link-normal"): 21 ahref = tag.get("href") 22 23 24
URLを書き出す処理は略させていただきましたが、forループに処理を記述してあり、人力では、pythonを検索窓に入力して、ルーペのボタンを押し、出てきたURLを収集できています。
最初は、自動で興味のあるワードの検索結果を収取できて便利になったと思っていたのですが、これを実施するには、Firefoxが必須になってしまい、windows パソコンでないと実行できないため、いろいろ面倒に思えてきました。
例えば、X-Window のないCentOSなどで実施するためには、seleniumで実施している部分をurllib2などに移植する必要があるかと思いますが、urllib2で上記のコードのように、IDを指定してキーワードを入力したり、ボタンを押したりの「操作」を実施して、帰ってきたHTMLを処理するようなことは可能でしょうか?
もし可能でしたら方法を教えていただきたく、よろしくお願いいたします。
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/11 08:58
2018/09/11 09:03
2018/09/11 09:09