3

これで、Web サイト A からの http 応答が得られました。この http 応答のすべてのリンク URL を Web サイト B の URL に変更する必要があります。これにより、ユーザーがブラウザーでこの http 応答を取得し、リンクをクリックすると、Web サイトに誘導されます。 AではなくB。

私はpythonとdjangoを使用しています。このトリックを実行できるパッケージまたはツールはありますか?

前もって感謝します。

4

2 に答える 2

1

Web サイト A から得られる応答の性質、それで何をしたいか、および置換が効率的であることがどれほど重要であるかに応じて、いくつかの可能な方法があります。あなたの状況とあなたが達成したいことについて、私は100%明確ではありません。

Web サイト A からの応答のリンクが Web サイト A のホスト名で始まる場合は、応答を文字列として取得response = response.replace('http://website-a.com', 'http://website-b.com')し、ユーザーに応答を提示する前に行います。

応答が HTML で、リンクが相対リンクである場合、コーディングの最も簡単な解決策は、おそらくlxml.rewrite_linksを使用することです( http://lxml.de/lxmlhtml.html#working-with-linksを参照)。これがあなたが探しているものだと思います。

他の状況がある場合は、何が適切かわかりません。多分正規表現。独自に設計したカスタム アルゴリズムかもしれません。Web サイト A から取得するコンテンツの種類、その中のリンクをどのように認識できるか、およびそれらをどのように変更したいかによって異なります。

于 2012-10-19T20:24:30.007 に答える
0

Apache を Web サーバーとして使用する場合は、モジュールを使用してhttp://mod-replace.sourceforge.net/のような応答の Text を置き換えることができます。これは、リクエストごとに perl や python を呼び出すよりも合理的なようです。ただし、影響のあるリンクだけでなく、すべてのテキストが置き換えられる可能性があることに注意する必要があります。したがって、これは非常に汚い解決策になります。

于 2012-10-19T18:28:58.920 に答える