Now I have a http response from website A, I need to change all the link urls in this http response to the url of website B, so that when users get this http response in browser, click on links, they will be directed to website B not A.
I’m using python and django. Is there a package or tool can do this trick?
Thanks in advance.
Depending upon the nature of the response you get from website A, what you want to do with it, and on how important it is that the replacement be efficient, there are a few possible ways of doing things. I’m not 100% clear on your situation and what you want to achieve.
If the links in the response from website A start with website A’s hostname, then just get the response as a string and do
response = response.replace('http://website-a.com', 'http://website-b.com')before you present the response to the user.If the response is HTML, and the links are relative, the easiest solution to code would probably be to use lxml.rewrite_links (see http://lxml.de/lxmlhtml.html#working-with-links). I suspect this is what you’re looking for.
If you’ve got some other situation, well, then I dunno what’s appropriate. Maybe a regex. Maybe a custom algorithm of your own design. It depends upon what kind of content you’re getting back from website A, how you can recognise links in it, and how you want to change them.