問題タブ [screen-scraping]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
8 に答える
8014 参照

python - 動的 Web サイトをスクレイピングする

ほとんどのコンテンツが ajax リクエストのように見えるものによって生成される動的 Web サイトをスクレイピングするための最良の方法は何ですか? Mechanize、BeautifulSoup、および python の組み合わせの経験はありますが、何か新しいことを考えています。

--編集-- 詳細について: CNNプライマリ データベースをスクレイピングしようとしています。そこには豊富な情報がありますが、API はないようです。

0 投票する
6 に答える
96785 参照

python - Pythonを使用してHTMLページソースから画像ファイルをダウンロードしますか?

HTML ページからすべての画像ファイルをダウンロードして特定のフォルダーに保存するスクレイパーを作成しています。すべての画像は HTML ページの一部です。

0 投票する
11 に答える
81506 参照

screen-scraping - HTML テーブルを CSV にスクレイピングするにはどうすればよいですか?

問題

仕事で、クエリを実行して HTML 形式の情報テーブルを取得できるツールを使用しています。バックエンドからアクセスすることはできません。

この情報の多くは、並べ替えや平均化などのためにスプレッドシートに入れることができれば、はるかに便利です。このデータを CSV ファイルにスクリーン スクレイピングするにはどうすればよいですか?

私の最初のアイデア

私は jQuery を知っているので、それを使用して画面上の表の書式設定を削除し、コンマと改行を挿入し、混乱全体をメモ帳にコピーして CSV として保存するだけでよいと考えました。より良いアイデアはありますか?

ソリューション

はい、皆さん、コピーして貼り付けるのと同じくらい簡単でした。ばかげていると思いませんか。

具体的には、スプレッドシートに貼り付けるときに、「形式を選択して貼り付け」を選択し、「テキスト」形式を選択する必要がありました。そうしないと、スプレッドシート全体を強調表示したとしても、すべてを 1 つのセルに貼り付けようとしました。

0 投票する
8 に答える
21143 参照

php - PHP CSS セレクター ライブラリ?

CSS セレクターを使用して XHTML ドキュメントをクエリできるようにする PHP クラス/ライブラリはありますか? どうにかして CSS セレクターを使用できれば、非常に簡単にアクセスできるデータを得るためにいくつかのページをスクレイピングする必要があります (jQuery は私を甘やかしてしまいました!)。何か案は?

0 投票する
1 に答える
980 参照

python - ウェブページをスキャンして画像やYouTubeの埋め込みを取得するにはどうすればよいですか?

特定のURLに埋め込まれているすべての画像とフラッシュビデオ(YouTubeなど)を取得する必要があるWebアプリを構築しています。私はPythonを使用しています。

私はグーグルで検索しましたが、これについての良い情報は見つかりませんでした(おそらくこれが何を検索するのかわからないためです)、誰かがこれを経験していて、それがどのようにできるか知っていますか?

利用可能なコード例があれば、ぜひご覧ください。

ありがとう!

0 投票する
5 に答える
1921 参照

html - HTML ドキュメントから最大のテキスト ブロックをスクレイピングする

私は、HTML ファイルが与えられたときに、ページのコンテンツ テキストの大部分を含む可能性が最も高い親要素であると考えられるものを選択しようとするアルゴリズムに取り組んでいます。たとえば、次の HTML では div "content" が選択されます。

HTML ドキュメント ツリーを葉までたどり、テキストの長さを合計し、親が子よりも多くのコンテンツを提供する場合にのみ、親が持っている他のテキストを確認するなど、いくつかのアイデアを思いつきました。

誰かがこのようなことを試したことがありますか、または適用できるアルゴリズムを知っていますか? 堅実である必要はありませんが、ページ コンテンツ テキスト (記事やブログ投稿など) のほとんどを含むコンテナーを推測できる限り、それは素晴らしいことです。

0 投票する
2 に答える
6892 参照

php - localhost から cURL 経由で Web サイトにアクセスできませんが、ホストされたサーバーからはアクセスできます

PHP 5 と cURL を使用して、wowarory.com から XML データを取得するスクリプトを作成しています。

ホストされている Web サーバーからこれを実行すると、期待どおりの XML 応答が得られます。しかし、localhost Web サーバーから実行すると、何も得られません。

localhost (yahoo.com、さらには worldofwarcraft.com ) から cURL を介して他の Web サイトを取得できますが、wowarmory.com は取得できません。したがって、cURL が適切に機能していることはわかっています。

次のバージョンの PHP と cURL を使用しています。

ホストされたサーバー:

  • PHP 5.2.6
  • cURL libcurl/7.16.1 OpenSSL/0.9.7e zlib/1.2.3

ローカルホスト:

  • PHP 5.2.6
  • cURL libcurl/7.16.0 OpenSSL/0.9.8i zlib/1.2.3

何か案は?

編集: localhost は Windows XP SP3 を実行しています。Web ブラウザから wowarmory.com にアクセスできます。Tracert はホップ 13 でタイムアウトを開始します (明らかに、私の場所から):

残念ながら、tcptraceroute には詳しくありません。

curl の Windows バイナリ バージョンは、http://www.wowarory.com/ に対しては何も返しませんが、http: //www.yahoo.com/ に対しては返します。

wget がありません。

編集 2: ローカルホストの Web サイトに問題なくアクセスできます。それは、私が受け取っていないcurlからの応答です。私はほとんどデフォルトのXAMPPインストールを実行しています(Windows XPのapache 2)。これはすべて正常に機能します。

0 投票する
4 に答える
3769 参照

html - レイアウトとフォーマットにCSSを使用する画面スクレイピングページ...HTMLに適用可能なCSSをスクレイピングする方法は?

私は、外部Webページのごく一部(ページ全体ではなく、ページのごく一部)のスクリーンスクレイピングを行うためのアプリに取り組んでいます。

だから私はhtmlをスクレイピングするために完全に機能するコードを持っていますが、私の問題は、生のhtmlだけでなく、抽出しているページのセクションをフォーマットするために使用されるCSSスタイルもスクレイピングしたいので、元のフォーマットがそのままの新しいページ。

Firebugに精通している場合は、強調表示したページの特定のサブセットに適用できるCSSスタイルを表示できるため、その方法を理解できれば、それらのスタイルを表示するときに使用できます。私の新しいページのコンテンツ。しかし、私はこれをどのように行うのか分かりません........

0 投票する
2 に答える
318 参照

html - c# XML 操作 VB コード変換 クエリ... などなど!

LINQを使用してHTML操作を行うためにVBチュートリアルに従っています

それは次の構造を持っています

C#で同じことを行うにはどうすればよいですか?

解決策を保持する XMLNamespaceManager と呼ばれるものがあるようですが、私は愚かすぎてその方法を理解できません。

何かアドバイスはありますか?

0 投票する
5 に答える
1180 参照

screen-scraping - リストを取得する最も簡単な方法 values from all pages on localhost website</h1> <div id="body"><p>I essentially want to spider my local site and create a list of all the titles and URLs as in:</p> <pre> http://localhost/mySite/Defaul</a> </h3> <div class="s-post-summary--content-excerpt"> </div> <div class="s-post-summary--meta"> <div class="s-post-summary--meta-tags tags js-tags t-cñ t-ûnet t-aspûnet-mvc t-aspûnet-mvc-4 t-actionfilterattribute"> <a href="/tags/screen-scraping" class="post-tag flex--item mt0 js-tagname-cñ" title="" rel="tag">screen-scraping</a><a href="/tags/web-crawler" class="post-tag flex--item mt0 js-tagname-cñ" title="" rel="tag">web-crawler</a> </div> <div class="s-user-card s-user-card__minimal"> <div class="s-user-card--info"> <div class="s-user-card--link d-flex gs4"> DLarsen </div> </div> <time class="s-user-card--time" style="margin-left:5px;"> <span title="2022-04-18 08:34:11Z" class="relativetime"> 2008-12-02T20:01:53.073</span></time> </div> </div> </div> </div> </div> <br class="cbt"> <div class="s-pagination site1 themed pager float-left"> <a class="s-pagination--item js-pagination-item " href="/tags/screen-scraping?p=1" rel="" title="Go to page 2">1</a><a class="s-pagination--item js-pagination-item " href="/tags/screen-scraping?p=2" rel="" title="Go to page 2">2</a><a class="s-pagination--item js-pagination-item is-selected" href="/tags/screen-scraping?p=3" rel="" title="Go to page 2">3</a><a class="s-pagination--item js-pagination-item " href="/tags/screen-scraping?p=4" rel="" title="Go to page 2">4</a><a class="s-pagination--item js-pagination-item " href="/tags/screen-scraping?p=5" rel="" title="Go to page 2">5</a><a class="s-pagination--item js-pagination-item " href="/tags/screen-scraping?p=6" rel="" title="Go to page 2">6</a><a class="s-pagination--item js-pagination-item " href="/tags/screen-scraping?p=7" rel="" title="Go to page 2">7</a><a class="s-pagination--item js-pagination-item " href="/tags/screen-scraping?p=8" rel="" title="Go to page 2">8</a><a class="s-pagination--item js-pagination-item " href="/tags/screen-scraping?p=9" rel="" title="Go to page 2">9</a><a class="s-pagination--item js-pagination-item " href="/tags/screen-scraping?p=10" rel="" title="Go to page 2">10</a></div> </div> <div id="sidebar" class="show-votes" role="complementary" aria-label="sidebar"> <div class="module js-gps-related-tags" id="related-tags"> <h4 id="h-related-tags">Reference</h4> <div data-name="javascript"> <a href="https://php.github.net.cn" class="post-tag no-tag-menu js-gps-track" >php</a> <span class="item-multiplier"><span class="item-multiplier-x">×</span> <span class="item-multiplier-count">1429865</span> </span> </div> <div data-name="javascript"> <a href="https://c-cpp.com" class="post-tag no-tag-menu js-gps-track" >c/c++</a> <span class="item-multiplier"><span class="item-multiplier-x">×</span> <span class="item-multiplier-count">756500</span> </span> </div> <div data-name="javascript"> <a href="https://nginx.github.net.cn" class="post-tag no-tag-menu js-gps-track" target="_blank">nginx</a> <span class="item-multiplier"><span class="item-multiplier-x">×</span> <span class="item-multiplier-count">49975</span> </span> </div> <div data-name="javascript"> <a href="https://mongodb.net.cn" class="post-tag no-tag-menu js-gps-track" >mongodb</a> <span class="item-multiplier"><span class="item-multiplier-x">×</span> <span class="item-multiplier-count">159057</span> </span> </div> <div data-name="javascript"> <a href="https://mybatis.net.cn" class="post-tag no-tag-menu js-gps-track" >mybatis</a> <span class="item-multiplier"><span class="item-multiplier-x">×</span> <span class="item-multiplier-count">3233</span> </span> </div> <div data-name="javascript"> <a href="https://anaconda.org.cn" class="post-tag no-tag-menu js-gps-track" >anaconda</a> <span class="item-multiplier"><span class="item-multiplier-x">×</span> <span class="item-multiplier-count">13410</span> </span> </div> <div data-name="javascript"> <a href="https://pycharm.net.cn" class="post-tag no-tag-menu js-gps-track" >pycharm</a> <span class="item-multiplier"><span class="item-multiplier-x">×</span> <span class="item-multiplier-count">14671</span> </span> </div> <div data-name="javascript"> <a href="https://python.github.net.cn" class="post-tag no-tag-menu js-gps-track" >python</a> <span class="item-multiplier"><span class="item-multiplier-x">×</span> <span class="item-multiplier-count">1902243</span> </span> </div> <div data-name="javascript"> <a href="https://vscode.github.net.cn" class="post-tag no-tag-menu js-gps-track" >vscode</a> <span class="item-multiplier"><span class="item-multiplier-x">×</span> <span class="item-multiplier-count">56040</span> </span> </div> <div data-name="javascript"> <a href="https://dockerdocs.cn" class="post-tag no-tag-menu js-gps-track" >docker</a> <span class="item-multiplier"><span class="item-multiplier-x">×</span> <span class="item-multiplier-count">110988</span> </span> </div> <div data-name="javascript"> <a href="https://github.net.cn" class="post-tag no-tag-menu js-gps-track" >github</a> <span class="item-multiplier"><span class="item-multiplier-x">×</span> <span class="item-multiplier-count">49000</span> </span> </div> <div data-name="javascript"> <a href="https://flask.github.net.cn" class="post-tag no-tag-menu js-gps-track" >flask</a> <span class="item-multiplier"><span class="item-multiplier-x">×</span> <span class="item-multiplier-count">49129</span> </span> </div> <div data-name="javascript"> <a href="https://ffmpeg.github.net.cn" class="post-tag no-tag-menu js-gps-track" >ffmpeg</a> <span class="item-multiplier"><span class="item-multiplier-x">×</span> <span class="item-multiplier-count">24037</span> </span> </div> <div data-name="javascript"> <a href="https://jmeter.net" class="post-tag no-tag-menu js-gps-track" >jmeter</a> <span class="item-multiplier"><span class="item-multiplier-x">×</span> <span class="item-multiplier-count">16910</span> </span> </div> <div data-name="javascript"> <a href="https://matplotlib.net" class="post-tag no-tag-menu js-gps-track" >matplotlib</a> <span class="item-multiplier"><span class="item-multiplier-x">×</span> <span class="item-multiplier-count">63493</span> </span> </div> <div data-name="javascript"> <a href="https://getbootstrap.net" class="post-tag no-tag-menu js-gps-track" >bootstrap</a> <span class="item-multiplier"><span class="item-multiplier-x">×</span> <span class="item-multiplier-count">54641</span> </span> </div> </div> </div> </div> </div> <footer id="footer" class="site-footer js-footer" role="contentinfo"> <div class="site-footer--container"> <div class="site-footer--logo"> <a href="https://stackoverflow.com"><svg aria-hidden="true" class="native svg-icon iconLogoGlyphMd" width="32" height="37" viewBox="0 0 32 37"><path d="M26 33v-9h4v13H0V24h4v9h22Z" fill="#BCBBBB"/><path d="m21.5 0-2.7 2 9.9 13.3 2.7-2L21.5 0ZM26 18.4 13.3 7.8l2.1-2.5 12.7 10.6-2.1 2.5ZM9.1 15.2l15 7 1.4-3-15-7-1.4 3Zm14 10.79.68-2.95-16.1-3.35L7 23l16.1 2.99ZM23 30H7v-3h16v3Z" fill="#F48024"/></svg></a> </div> <nav class="site-footer--nav"> <div class="site-footer--col"> <h5 class="-title"><a href="https://stackoverflow.jp" class="js-gps-track" data-gps-track="footer.click({ location: 3, link: 15})">Stack Overflow 日本語サイト</a></h5> <p>CC BY-SA知識共有ライセンス契約に従う。</p> </div> </nav> </div> </footer> <script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?709ff2ad9744e86b5b0eee677fc13ede"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> <!-- Google tag (gtag.js) --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-1MW5BV8G8E"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-1MW5BV8G8E'); </script> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-6117966252207595" crossorigin="anonymous"></script> </body> </html>