問題タブ [scrapy-spider]
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.
python - __init__ のスクレイピー パイプラインで引数を使用する
私はスクレイピーなpipelines.pyを持っていて、与えられた引数を取得したい. 私の Spider.py では完璧に動作します:
さて、「domain-123.db」のような sqlite データベースを作成するには、pipelines.py に「user_id」が必要です。問題についてウェブ全体を検索しましたが、解決策が見つかりません。
誰かが私を助けることができますか?
PS: はい、spyer.py のようなパイプライン クラス内で super() 関数を試してみましたが、機能しません。
scrapy - CrawlSpider: リクエスト前に URL を無視する
CrawlSpider から派生したスパイダーがあります。URL が特定の形式の場合、parse_item という名前の関数へのコールバックを行います。
スパイダーのステータスは only_new=True です。この状態が有効になっている場合、データベースに既に存在する URL をクロールしたくありません。
クロールしたい新しい詳細ページが 5 つあるが、クロールしたくない詳細ページが 1000 ある場合、1000 ではなく 5 つのリクエストを送信したいので、リクエストが完了する前に URL を確認したいと思います。
ただし、コールバック関数では、リクエストは既に行われています。次のようなことをしたいと思います:
これはミドルウェアなどで可能ですか?
scrapy - スクレイピー ハンドル ヘブライ語 (非英語) 言語
私はヘブライ語のウェブサイトをスクラップするためにスクレイピーを使用しています。ただし、スクラップデータを UTF-8 にエンコードした後でも、ヘブライ文字を取得できません。CSV で奇妙な文字列 (× ×¨×¡×™ ×'עמ) を取得します。ただし、print same item をチェックすると、端末で正しい文字列を確認できます。以下は私が使用しているウェブサイトです。 http://www.moch.gov.il/rasham_hakablanim/Pages/pinkas_hakablanim.aspx
奇妙なことに、メモ帳++で同じcsvを開くと. 正しい出力を見ることができます。ということで対処法として。私がしたことは、メモ帳++でcsvを開き、エンコーディングをUTF-8に変更することです。そしてそれを保存しました。Excelでcsvを再度開くと、正しいヘブライ文字列が表示されます。
scrapy 内から CSV エンコーディングを指定する方法はありますか?
python - Scrapy は XHR リクエストをシミュレートします - 400 を返します
Ajax を使用してサイトからデータを取得しようとしています。ページが読み込まれ、Javascript がコンテンツをリクエストします。詳細については、このページを参照してください: https://www.tele2.no/mobiltelefon.aspx
問題は、次の URL を呼び出してこのプロセスをシミュレートしようとしたときです: https://www.tele2.no/Services/Webshop/FilterService.svc/ApplyPhoneFilters
リクエストが許可されていないことを示す 400 レスポンスが返されます。これは私のコードです:
私はスクレイピーとパイソンを初めて使用するので、明らかに欠けているものがあるかもしれません
python - xpath先行子問題
このページhttp://espn.go.com/nba/teamsをスクレイピングするための webscraper を構築して、scrapy python ライブラリを使用してすべてのチーム名とそれに対応する部門をデータベースに入力します。解析関数を作成しようとしていますが、対応する部門名を抽出して各チームに一致させる方法をまだ正確に理解していません。
[1] https://www.dropbox.com/s/jv1n49rg4p6p2yh/2014-12-29%2014.08.07-2.jpg?dl=0
私の解析関数は、チームのリストと、すべての部門をリストする対応する部門リストを返すことができます。選択したチーム名からナビゲートする必要があるように思われるため、正確な部門を指定する方法は実際にはわかりません ( item['team'] = sel.xpath(mex + "/div/h5 で表されます) /a/text()")[i] ) 上記の子リレーションを使用して DOM をアップします (チュートリアルとしてフォローしている Web サイトを含める予定でしたが、評価ポイントは 10 ではありません)。正しい区分ですが、書き方がわかりません...
私は XPath の専門家ではないので、間違った方向に進んでいる場合はお知らせください。[i] を削除したかのように、カウンターが必要かどうかは実際にはわかりません。30 チームすべてで 30 のリストを取得するだけです。
python - Scrapy プロジェクトの開始エラー
スクレイピーを起動しようとすると、このエラーが発生します。なぜ出てくるのでしょうか?
$ Scrapy startproject チュートリアル トレースバック (最新の呼び出しが最後): ファイル "/Applications/anaconda/bin/scrapy"、5 行目、pkg_resources からインポート load_entry_point ファイル "/Applications/anaconda/lib/python2.7/site-packages/setuptools -2.1-py2.7.egg/pkg_resources.py"、2697 行目、ファイル "/Applications/anaconda/lib/python2.7/site-packages/setuptools-2.1-py2.7.egg/pkg_resources.py" 内行 669、require File "/Applications/anaconda/lib/python2.7/site-packages/setuptools-2.1-py2.7.egg/pkg_resources.py"、行 572、解決 pkg_resources.DistributionNotFound: cryptography>=0.2 .1 $