問題タブ [scrapy]
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.
web-crawler - Web クローラーの更新戦略
特定の Web サイトから有用なリソース (背景画像など) をクロールしたいと考えています。特にスクレイピーのようないくつかの素晴らしいプロジェクトの助けを借りて、それは難しい仕事ではありません.
ここでの問題は、このサイトを 1 回だけクロールしたいだけではないということです。また、クロールを長時間実行し続け、更新されたリソースをクロールしたいと考えています。Webクローラーが更新されたページを取得するための良い戦略はありますか?
これが私が考えた粗いアルゴリズムです。クロール プロセスをラウンドに分割しました。各ラウンド URL リポジトリは、クローラーにクロールする特定の数 (10000 など) の URL を提供します。そして次のラウンド。詳細な手順は次のとおりです。
- クローラーが開始 URL を URL リポジトリーに追加する
- クローラーは、クロールする最大 N 個の URL を URL リポジトリーに要求します
- クローラーは URL をフェッチし、ページ コンテンツ、フェッチ時間、コンテンツが変更されたかどうかなど、URL リポジトリ内の特定の情報を更新します。
- ステップ2に戻るだけです
それをさらに特定するには、次の質問を解決する必要があります: この Web ページが更新されている可能性を示す、Web ページの「更新度」を決定する方法は?
これは未解決の問題であるため、ここで実りある議論がもたらされることを願っています。
python - セッション ID を使用している可能性のある安全な URL からページをスクレイピングする
このようなページをスクレイピングする方法: https://www.procom.ca/JobList.aspx?keywords=&Cities=&reference=&JobType=0
安全で、リファラーが必要なようです。wget または httplib2 を使用して何も取得できません。
このページを進むと一覧が表示され、ブラウザでは機能しますが、コマンド ラインでは機能しません。 https://www.procom.ca/jobsearch.aspx
コマンドラインフェッチに興味があります。
app-store - iTunes の AppStore での Scrapy の問題
Scrapy を使用して、iTunes の AppStore データベースからデータを取得しています。このアプリのリストから始めます: http://itunes.apple.com/us/genre/mobile-software-applications/id36?mt=8
次のコードでは、米国ストアのすべてのアプリを対象とする最も単純な正規表現を使用しています。
実行すると、次のメッセージが表示されます。
ご覧のとおり、最初のページのクロールを開始すると、「「itunes.apple.com」へのオフサイト リクエストをフィルタリングしました」と表示されます。その後、スパイダーは停止します..次のメッセージも返します。
トレースバック (最後の最後の呼び出し): ファイル "/usr/lib/python2.5/cookielib.py"、1575 行目、make_cookies parse_ns_headers(ns_hdrs) 内、要求) ファイル "/usr/lib/python2.5/cookielib.py "、1532 行目、_cookies_from_attrs_set cookie = self._cookie_from_cookie_tuple(tup, request) ファイル "/usr/lib/python2.5/cookielib.py"、1451 行目、_cookie_from_cookie_tuple の場合、バージョンが None でない場合: version = int(version) ValueError: 基数 10 の int() の無効なリテラル: '"1"'
他の Web サイトでも同じスクリプトを使用しましたが、この問題は発生しませんでした。
なにか提案を?
python - スクレイピー - pythonの質問
投稿する場所が適切でない可能性があります。でも、とにかくやってみます!
私が作成したテスト python 解析スクリプトがいくつかあります。それらは、私が取り組んでいることをテストするのに十分に機能します。
しかし、最近、Web スクレイピングに使用される Python フレームワーク Scrapy に出会いました。私のアプリは、複数のサーバーのテストベッド全体で分散プロセスで実行されます。私はスクレイピーを理解しようとしており、私がやっていることよりもメリットがあるかどうかを確認しています。
ですから、可能であれば、scrapy に根ざしている、または使用している数人の人と話をしたいと思っています。
python - Scrapyを使用してスパイダーを作成すると、スパイダー生成エラーが発生します
Windows 32にScrapy(Webクローラー)をダウンロードし、dosの「scrapy-ctl.pystartprojectdmoz」コマンドを使用して新しいプロジェクトフォルダーを作成しました。次に、次のコマンドを使用して最初のスパイダーを作成しました。
scrapy-ctl.py genspider myspider myspdier-domain.com
しかし、それは機能せず、エラーを返します:
Error running: scrapy-ctl.py genspider, Cannot find project settings module in python path: scrapy_settings.
パスが(python26 / scriptsに)正しく設定されていることはわかっていますが、問題が何であるかを理解するのに苦労しています。私はscrapyとpythonの両方に慣れていないので、何か重要なことをしなかった可能性があります。
また、問題が発生する可能性がある場合は、Pydevプラグインでeclipseを使用してコードを編集しています。
python - Scrapy はスパイダーエラーを見つけることができませんでした
私は単純なスパイダーをスクレイピーで実行しようとしましたが、エラーが発生し続けます:
Could not find spider for domain:stackexchange.com
式を使用してコードを実行するとscrapy-ctl.py crawl stackexchange.com
。クモは次のとおりです。
別の人が数か月前にほぼ同じ問題を投稿しましたが、それをどのように修正したかは述べていませんでした。Scrapy スパイダーが機能し ていませんなぜそれが機能しないのかを理解してください。
このコードをEclipseで実行すると、エラーが発生します
Traceback (most recent call last):
File "D:\Python Documents\dmoz\stackexchange\stackexchange\spiders\stackexchange_spider.py", line 1, in <module>
from scrapy.spider import BaseSpider
ImportError: No module named scrapy.spider
ベースの Spider モジュールが見つからない理由がわかりません。スパイダーはスクリプト ディレクトリに保存する必要がありますか?
python - XPath と Python で抽出された余分な文字 (html)
オンラインでhtmlタグからテキストを抽出するためにscrapyでXPathを使用していますが、そうすると余分な文字が添付されます。例として、<td>
タグから「204」などの数値を抽出して取得しようとして[u'204']
います。場合によっては、さらに悪化します。たとえば、「1 - Mathoverflow」を抽出しようとして、代わりに[u'\r\n\t\t 1 \u2013 MathOverflow\r\n\t\t ']
. これを防ぐ方法、または余分な文字が文字列の一部にならないように文字列をトリミングする方法はありますか? (アイテムを使用してデータを保存します)。フォーマットに関係しているように見えますが、xpath がそのようなものを取得しないようにするにはどうすればよいですか?
python - Scrapy-RSSリンクをたどる
誰かがSgmlLinkExtractor/CrawlSpiderを使用してRSSアイテムリンクを抽出/フォローしようとしたことがあるかどうか疑問に思いました。動作させられません...
私は次のルールを使用しています:
(rssリンクはlinkタグにあることに注意してください)。
リンクのtext()を抽出し、属性を検索しないようにSgmlLinkExtractorに指示する方法がわかりません...
どんな助けでも大歓迎です、よろしくお願いします
php - フォーラムをこするプログラムを書く
フォーラムをスクレイプするプログラムを作成する必要があります。
Scrapyフレームワークを使用してPythonでプログラムを作成する必要がありますか、それともPhp cURLを使用する必要がありますか?また、Scrapyに相当するPHPはありますか?
ありがとう
python - Python を使用してブラウザー リソースの展開動作をシミュレートする
ブラウザ リソースの展開動作をシミュレートする方法を探しています。
私が対処しようとしているフローは次のとおりです。
- 初期 URL にアクセスする (例: http://example.dmn/index.htm )
- 受信した html 応答を解析します (例: index.htm)
- インデックス解析の結果としてブラウザーが取得するリソースを見つけます。たとえば、次のようになります。
- 画像
- 閃光
- 埋め込みビデオ/オーディオ
- フレーム/iFrame
- 見つかった新しいリソースごとにプロセスを再帰的に繰り返します
リンク (href) をたどることは期待していません。ページが最初にアクセスされたときにブラウザーによって自動的に取得されるページ リソースのみです。
このシミュレーションを実行する方法について提案はありますか?
役立つ可能性のあるPythonプロジェクト/ライブラリはありますか?
ありがとう