タグ付けされた質問 「web-scraping」

Webスクレイピングは、APIや他の自動データ取得方法を簡単に提供できないWebサイトから特定の情報を抽出するプロセスです。「スクレイピングの開始方法」(例:Excel VBA)に関する質問は、多数の機能コードのサンプルが利用可能であるため、*徹底的に調査する必要があります。Webスクレイピング方法には、サードパーティアプリケーション、カスタムソフトウェアの開発、または標準化された方法での手動のデータ収集さえ含まれます。

30
HTMLスクレイピングのオプション?[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 6年前休業。 HTMLスクレイピング用のPythonパッケージであるBeautiful Soupを試すことを考えています。私が見るべき他のHTMLスクレイピングパッケージはありますか?Pythonは必須ではありません。実際、他の言語についても聞きたいと思っています。 これまでの話: パイソン 美しいスープ lxml HTQL スクレイピー 機械化 ルビー のこぎり プリコット 機械化 scrAPI scRUBYt! ウォンバット ワティル 。ネット HTMLアジリティパック WatiN Perl WWW :: Mechanize ウェブスクレーパー ジャワ タグスープ HtmlUnit ウェブ収穫 jARVEST jsoup Jericho HTMLパーサー JavaScript リクエスト Cheerio アルトゥー ノードホースマン phantomjs PHP グート htmlSQL PHPシンプルHTML DOMパーサー CURLによるPHPのスクレイピング ScarletsQuery それらのほとんど …

16
クラスごとに要素を見つける方法
Beautifulsoupを使用して "class"属性を持つHTML要素を解析するのに問題があります。コードは次のようになります soup = BeautifulSoup(sdata) mydivs = soup.findAll('div') for div in mydivs: if (div["class"] == "stylelistrow"): print div スクリプトが終了した後、同じ行にエラーが表示されます。 File "./beautifulcoding.py", line 130, in getlanguage if (div["class"] == "stylelistrow"): File "/usr/local/lib/python2.6/dist-packages/BeautifulSoup.py", line 599, in __getitem__ return self._getAttrMap()[key] KeyError: 'class' このエラーを取り除くにはどうすればよいですか?

3
ヘッドレスブラウザとスクレイピング-ソリューション[終了]
閉まっている。この質問はスタックオーバーフローのガイドラインを満たしていません。現在、回答を受け付けていません。 この質問を改善してみませんか? Stack Overflowのトピックとなるように質問を更新します。 5年前休業。 ブラウザーの自動テストスーツとスクレイピングが可能なヘッドレスブラウザープラットフォームの可能なソリューションのリストを掲載しようとしています。 ブラウザのテスト/スクレイピング: セレン - ポリグロットの速いテスト展開のためのブラウザの自動化におけるフラッグシップやPython、Rubyのは、JavaScript、C#、Haskellの多くのバインディング、Firefox用IDE(拡張として)。サーバーとして機能し、多くの機能を備えています。 ジャバスクリプト PhantomJS - JavaScriptは、スクリーンキャプチャと自動化によるヘッドレステストで、Webkitを使用します。バージョン1.8以降、SeleniumのWebDriver APIが実装されているため、任意のWebDriverバインディングを使用でき、テストはSeleniumと互換性があります SlimerJS - PhantomJSと同様に、WebKitの代わりにGecko(Firefox)を使用します CasperJS - PhantomJSとSlimerJSの両方に基づいて構築されたJavaScriptには、追加機能があります ゴーストドライバ - のJavaScriptの実装webdriverをワイヤプロトコルのためPhantomJS。 新しい PhantomCSS -CSS回帰テスト。PhantomJSと Resemble.jsを使用して視覚回帰テストを自動化するためのCasperJSモジュール。 新しい WebdriverCSS-視覚回帰テストを自動化するための Webdriver.ioのプラグイン 新しい PhantomFlow-テストによるユーザーフローの説明と視覚化。Webユーザーインターフェイステストへの実験的アプローチ。 新しい trifleJS -PhantomJS APIを移植して、Internet Explorerエンジンを使用します。 新しい CasperJS IDE (商用) NODE.JS ノードファントム-PhantomJSとnode.jsの間のギャップを埋めます WebDriverJs -Seleniumチームによるnode.jsのSelenium WebDriverバインディング WD.js -WebDriver / …

6
URLまたはWebページのGoogleキャッシュエージを取得するにはどうすればよいですか?[閉まっている]
閉まっている。この質問はスタックオーバーフローのガイドラインを満たしていません。現在、回答を受け付けていません。 この質問を改善してみませんか?Stack Overflowのトピックとなるように質問を更新します。 2年前休業。 この質問を改善する 私のプロジェクトでは、Googleのキャッシュエージを重要な情報として追加する必要があります。Googleのキャッシュエイジ、つまり、Googleがリストされたページのインデックスを最後に再作成してからの日数をソースで検索してみました。 Googleのキャッシュエージはどこで取得できますか?

3
どのHTMLパーサーが最適ですか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、専門知識によって裏付けられると期待していますが、この質問は、議論、議論、投票、または拡張ディスカッションを求める可能性があります。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 7年前休業。 多くのパーサーをコーディングしています。これまでは、解析とブラウザーの自動化にHtmlUnitヘッドレスブラウザーを使用していました。 ここで、両方のタスクを分離したいと思います。 私の作業の80%は解析のみを含むため、HtmlUnitで最初にページをロードしてからソースを取得して解析するのに時間がかかるため、軽量のHTMLパーサーを使用したいと考えています。 どのHTMLパーサーが最適か知りたい。HtmlUnitパーサーに近い場合、パーサーの方が優れています。 編集: せいぜい、私は少なくとも以下の機能が欲しいです: 速度 「id」、「name」、「tag type」でHtmlElementを見つけやすくなります。 汚れたHTMLコードをクリーンアップしないのであれば、私には問題ありません。HTMLソースをクリーンアップする必要はありません。HtmlElement間を移動してデータを収集する最も簡単な方法が必要です。

13
Pythonを使用してSeleniumでドロップダウンメニューの値を選択するにはどうすればよいですか?
ドロップダウンメニューから要素を選択する必要があります。 例えば: <select id="fruits01" class="select" name="fruits"> <option value="0">Choose your fruits:</option> <option value="1">Banana</option> <option value="2">Mango</option> </select> 1)最初にそれをクリックしなければなりません。私はこれをします: inputElementFruits = driver.find_element_by_xpath("//select[id='fruits']").click() 2)その後、良い要素を選択する必要がありますMango。 私はそれをやってみましたinputElementFruits.send_keys(...)が、うまくいきませんでした。

14
Pythonを使用したWebスクレイピングJavaScriptページ
シンプルなWebスクレイパーを開発しようとしています。HTMLコードなしでテキストを抽出したい。実際、私はこの目標を達成しましたが、JavaScriptがロードされている一部のページでは、良い結果が得られなかったことがわかりました。 たとえば、JavaScriptコードがテキストを追加する場合、それを表示できません。 response = urllib2.urlopen(request) 追加されたテキストなしで元のテキストを取得します(JavaScriptがクライアントで実行されるため)。 だから、私はこの問題を解決するためのいくつかのアイデアを探しています。

4
XMLパッケージを使用してHTMLテーブルをRデータフレームにスクレイピングする
XMLパッケージを使用してHTMLテーブルをスクレイピングするにはどうすればよいですか? たとえば、ブラジルのサッカーチームに関するこのWikipediaのページを見てください。私はそれをRで読み、「ブラジルがFIFA認定チームと対戦したすべての試合のリスト」表をdata.frameとして取得したいと考えています。これどうやってするの?
153 html  r  xml  parsing  web-scraping 



7
Puppeteer:.evaluate()で変数を渡す
Puppeteerのpage.evaluate()関数に変数を渡そうとしていますが、次の非常に単純な例を使用すると、変数が未定義です。evalVar 私はPuppeteerを使い始めたばかりで、構築する例が見つからないので、その変数をpage.evaluate()関数に渡して内部で使用できるようにする必要があります。 const puppeteer = require('puppeteer'); (async() => { const browser = await puppeteer.launch({headless: false}); const page = await browser.newPage(); const evalVar = 'WHUT??'; try { await page.goto('https://www.google.com.au'); await page.waitForSelector('#fbar'); const links = await page.evaluate((evalVar) => { console.log('evalVar:', evalVar); // appears undefined const urls = []; hrefs = document.querySelectorAll('#fbar #fsl …

4
Pythonリクエストを使用してブラウザに偽装する方法は?
以下のサイトからコンテンツを入手したい。FirefoxやChromeなどのブラウザを使用すると、希望する実際のWebサイトページを取得できますが、Pythonリクエストパッケージ(またはwgetコマンド)を使用して取得すると、まったく異なるHTMLページが返されます。私はウェブサイトの開発者がこれのためにいくつかのブロックを作ったと思ったので、問題は: Pythonリクエストまたはコマンドwgetを使用して、ブラウザーの訪問を偽装するにはどうすればよいですか? http://www.ichangtou.com/#company:data_000008.html

17
スクレイピング:SSL:http://en.wikipedia.orgのCERTIFICATE_VERIFY_FAILEDエラー
「Pythonを使用したWebスクレイピング」のコードを練習していますが、この証明書の問題が引き続き発生します。 from urllib.request import urlopen from bs4 import BeautifulSoup import re pages = set() def getLinks(pageUrl): global pages html = urlopen("http://en.wikipedia.org"+pageUrl) bsObj = BeautifulSoup(html) for link in bsObj.findAll("a", href=re.compile("^(/wiki/)")): if 'href' in link.attrs: if link.attrs['href'] not in pages: #We have encountered a new page newPage = link.attrs['href'] print(newPage) pages.add(newPage) getLinks(newPage) …

2
Webサイトからデータをスクレイピングする最良の方法は何ですか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 6年前休業。 この質問を改善する Webサイトからコンテンツを抽出する必要がありますが、アプリケーションは、そのデータにプログラムでアクセスするためのアプリケーションプログラミングインターフェイスや他のメカニズムを提供していません。 Webページをスクレイピングしてデータセットを構築するためのクリックアンドゴー機能を提供するImport.ioと呼ばれる便利なサードパーティツールを見つけました。データをローカルに保持し、サブスクリプションプランをサブスクライブしたくないだけです。 。 この会社は、Webページをスクレイピングしてデータセットを構築するためにどのようなテクニックを使用していますか?私はいくつかのWebスクレイピングフレームワークpjscrape&Scrapyがそのような機能を提供できることを発見しました

2
動的ページ用のスクレイプ付きセレン
Scrapyを使用して、Webページから製品情報を取得しようとしています。私のスクレイピングされるWebページは次のようになります。 10個の製品を含むproduct_listページから始まります 「次へ」ボタンをクリックすると、次の10個の製品が読み込まれます(URLは2つのページ間で変更されません) LinkExtractorを使用して、各製品リンクを製品ページにたどり、必要なすべての情報を取得します next-button-ajax-callを複製しようとしましたが、機能しません。そこで、セレンを試してみます。別のスクリプトでSeleniumのWebドライバーを実行できますが、scrapyと統合する方法がわかりません。スクレープスパイダーのセレン部分はどこに置けばいいですか? 私のクモは次のようにかなり標準的です: class ProductSpider(CrawlSpider): name = "product_spider" allowed_domains = ['example.com'] start_urls = ['http://example.com/shanghai'] rules = [ Rule(SgmlLinkExtractor(restrict_xpaths='//div[@id="productList"]//dl[@class="t2"]//dt'), callback='parse_product'), ] def parse_product(self, response): self.log("parsing product %s" %response.url, level=INFO) hxs = HtmlXPathSelector(response) # actual data follows どんなアイデアでも大歓迎です。ありがとうございました!

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.