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

5
Googleにウェブサイトの再クロールをリクエストするにはどうすればよいですか?[閉まっている]
閉まっている。この質問はスタックオーバーフローのガイドラインを満たしていません。現在、回答を受け付けていません。 この質問を改善してみませんか?Stack Overflowのトピックとなるように質問を更新します。 5年前休業。 この質問を改善する 誰かがウェブサイトを再クロールするようにGoogleに要求する方法を知っていますか?可能であれば、これは数か月は続かないはずです。私のサイトは、Googleの検索結果に古いタイトルを表示しています。正しいタイトルと説明でどのように表示できますか?
227 seo  web-crawler 

2
Pythonのリクエストライブラリを使用して「ユーザーエージェント」を送信する
"User-agent"Pythonリクエストを使用してウェブページをリクエストしているときに値を送信したいのですが。以下のコードのように、これをヘッダーの一部として送信してもよいかどうかはわかりません。 debug = {'verbose': sys.stderr} user_agent = {'User-agent': 'Mozilla/5.0'} response = requests.get(url, headers = user_agent, config=debug) デバッグ情報には、リクエスト中に送信されたヘッダーは表示されません。 この情報をヘッダーで送信しても問題ありませんか?そうでない場合、どうすれば送信できますか?

4
rsyncが未完成のソースファイルを削除しないようにする
速度と質量の2つのマシンがあります。speedは高速インターネット接続を備えており、多くのファイルをディスクにダウンロードするクローラーを実行しています。質量には多くのディスク容量があります。ダウンロードが完了した後、ファイルを高速から大量に移動したいと思います。理想的には、次のように実行します。 $ rsync --remove-source-files speed:/var/crawldir . しかし、rsyncがまだダウンロードが完了していないソースファイルのリンクを解除するのではないかと心配しています。(私はソースコードを見ましたが、これを防ぐものは何もありませんでした。)何か提案はありますか?



11
「ステルス」Webクローラーの検出
検出されたくないWebクローラーを検出するには、どのようなオプションがありますか? (リスティング検出手法により、スマートステルスクローラープログラマーがより優れたスパイダーを作成できることは知っていますが、スマートステルスクローラーをブロックできるとは思いません。間違いを犯したものだけです。) 私はgooglebotやYahoo!などの素晴らしいクローラーについて話しているのではありません。啜る。私はボットがいいと思います: ユーザーエージェント文字列でボットとして自分自身を識別します robots.txtを読み取る(そしてそれに従う) 悪いクローラーについて話している、一般的なユーザーエージェントの後ろに隠れている、私の帯域幅を使用している、そして見返りに何も与えていない。 更新されたリストを作成できるトラップドアがいくつかあります(Chris、gsに感謝)。 robots.txtにのみリストされている(Disallowとマークされている)ディレクトリを追加します。 非表示のリンクを追加する(おそらくrel = "nofollow"?とマークされている)、 style = "display:none;" リンクまたは親コンテナ Zインデックスが高い別の要素の下に配置 CaPiTaLiSaTioNを理解していない人を検出し、 誰が返信を投稿しようとしているかを検出しますが、常にキャプチャに失敗します。 POST専用リソースへのGETリクエストを検出する リクエスト間の間隔を検出する 要求されたページの順序を検出する 誰が(一貫して)http経由でhttpsリソースをリクエストするかを検出する 画像ファイルを要求しない人を検出します(これは、既知の画像対応ブラウザのユーザーエージェントのリストと組み合わせて、驚くほどうまく機能します) 一部のトラップは、「良い」ボットと「悪い」ボットの両方によってトリガーされます。それらをホワイトリストと組み合わせることができます: 罠を引き起こす リクエストrobots.txt? 従ったため、別のトラップをトリガーしません robots.txt ここでもう1つ重要なことは 、スクリーンリーダーを使用している視覚障害者を検討してください。あなたに連絡する方法を提供するか、(画像以外の)キャプチャを解決してブラウジングを続行してください。 通常の人間の訪問者として自分自身をマスクしようとしているWebクローラーを自動的に検出する方法は何ですか。 更新 問題はそうではありません:すべてのクローラーをどのように捕まえるのですか?問題は、クローラーを検出する可能性を最大化するにはどうすればよいかです。 いくつかのスパイダーは本当によく、実際にhtml、xhtml、css javascript、VBスクリプトなどを解析して理解し ています... 私には幻想がありません。私はそれらを倒すことができません。 ただし、一部のクローラーがどれほど愚かであるかは驚くでしょう。(私の意見では)愚かさの最も良い例は:すべてのURLをリクエストする前に小文字にキャストすることです。 そして、さまざまなトラップドアを回避するには「十分に不十分」なクローラーがたくさんあります。
107 web-crawler 

11
各Dockerイメージのレイヤーとレイヤーサイズを見つける
研究目的のために、公開Dockerレジストリ(https://registry.hub.docker.com/)をクロールして、1)平均画像のレイヤー数と2)これらのレイヤーのサイズを調べて、分布のアイデア。 ただし、APIとパブリックライブラリ、およびgithubの詳細を調べましたが、次の方法を見つけることができません。 すべてのパブリックリポジトリ/イメージを取得します(それらが数千に及ぶ場合でも、反復するための開始リストが必要です) 画像のすべてのレイヤーを見つける レイヤーのサイズを見つけます(画像ではなく個々のレイヤーのサイズです)。 この情報を取得する方法を見つけるのを手伝ってくれる人はいますか? ありがとうございました! 編集:誰かがDockerレジストリで「*」を検索すると、「*」に言及するものだけでなく、すべてのリポジトリが返されることを確認できますか?https://registry.hub.docker.com/search?q=*

2
TypeError:re.findall()でバイトのようなオブジェクトに文字列パターンを使用することはできません
ページからURLを自動的に取得する方法を学習しようとしています。次のコードでは、Webページのタイトルを取得しようとしています。 import urllib.request import re url = "http://www.google.com" regex = r'<title>(,+?)</title>' pattern = re.compile(regex) with urllib.request.urlopen(url) as response: html = response.read() title = re.findall(pattern, html) print(title) そして、私はこの予期しないエラーを受け取ります: Traceback (most recent call last): File "path\to\file\Crawler.py", line 11, in <module> title = re.findall(pattern, html) File "C:\Python33\lib\re.py", line 201, in findall return _compile(pattern, …



8
サイトからURLのリストを取得する[終了]
閉まっている。この質問はスタックオーバーフローのガイドラインを満たしていません。現在、回答を受け付けていません。 この質問を改善してみませんか?Stack Overflowのトピックとなるように質問を更新します。 4年前休業。 この質問を改善する クライアントの代わりのサイトを展開していますが、古いページのすべてが404で終わってほしくありません。古いURL構造は恐ろしいため、維持することはできませんでした。 したがって、要求されている古いページを探し、新しいページに永続的にリダイレクトする404ハンドラーを作成しています。問題は、すべての古いページのURLのリストが必要です。 私はこれを手動で行うことができますが、家に与えられた相対URL(例:/page/path、http:/.../page/pathではない)のリストを提供するアプリがあるかどうか興味があります。ページ。クモのようですが、より深いページを見つけること以外はコンテンツを気にしません。

10
1つのScrapyプロジェクトでさまざまなスパイダーにさまざまなパイプラインを使用するにはどうすればよいですか?
複数のスパイダーを含むスクレイププロジェクトがあります。どのパイプラインをどのスパイダーに使用するかを定義する方法はありますか?私が定義したすべてのパイプラインがすべてのスパイダーに適用できるわけではありません。 ありがとう

10
ボットからメールアドレスを隠す-mailtoを保持する:
tl; dr スクリプトを使用せずにボットからメールアドレスを非表示にし、mailto:機能を維持します。メソッドはスクリーンリーダーもサポートする必要があります。 概要 スクリプトやお問い合わせフォームを使用せずに難読化をメールで送信 メールアドレスは、人間の視聴者に完全に表示され、機能を維持する必要がありますmailto: メールアドレスは画像形式であってはなりません。 メールアドレスは、スパムクローラーやスパムボット、その他の種類のハーベスターから「完全に」隠されている必要があります 望ましい効果: スクリプトはありません。プロジェクトで使用されているスクリプトはありません。そのままにしておきたいと思います。 メールアドレスはページに表示されるか、モーダルを開くなどのユーザー操作の後に簡単に表示できます。 ユーザーは、電子メールアドレスを上のクリックできる順番にトリガーするmailto:機能を。 電子メールをクリックすると、ユーザーの電子メールアプリケーションが開きます。 言い換えれば、mailto:機能が機能する必要があります。 メールアドレスが表示されていないか、ボットのメールアドレスとして識別されていません(これにはページソースが含まれます) スパムでいっぱいの受信トレイがありません 何をしない仕事は メールアドレスの代わりに連絡フォーム(または同様のもの)を追加する お問い合わせフォームが嫌いです。お問い合わせフォームに記入することはめったにありません。メールアドレスがない場合は電話番号を探し、電話番号がない場合は別のサービスを探し始めます。どうしても必要な場合にのみ、コンタクトフォームに記入します。 住所を住所の画像に置き換える これは、スクリーンリーダーを使用している人に大きな不利益をもたらします(将来のプロジェクトで視覚障害者を覚えておいてください) また、画像をクリック可能にしてからリンクの機能を追加しない限り、機能が削除されmailto:ますが、それでは目的が果たせなくなり、ボットにメールが表示されるようになります。mailto:href 何がうまくいくか: 賢い使い方pseudo-elementsでCSS base64エンコーディングを利用するソリューション 解体ユーザーがボタンをクリックしたときに電子メールアドレスを、文書間の部分を広げることは、その後(これはおそらく複数含むことになるモーダルで一緒に戻ってそれらを置くCSSクラスとの使用をanchor tags) を介してhtml属性を変更するCSS @MortezaAsadiは、以下のコメントで可能性を優雅に提起しました。これは完全なものへのリンクです-記事は2012年のものです: CSSを使用してHTML属性を変更できるとしたらどうでしょうか。 私の知識の範囲を超えている他の創造的な解決策。 同様の質問/修正 JavaScript:JoeMallerによってメールアドレスを保護する (これはJoe Mallerによって提案された素晴らしい修正です。うまく機能しますが、スクリプトベースです。次のようになります。 <SCRIPT TYPE="text/javascript"> emailE = 'emailserver.com' emailE = ('yourname' + '@' + emailE) document.write('<A href="mailto:' + …
81 html  css  web-crawler  mailto 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.