本教程将演示如何使用Python创建Web请求。有几个Python模块可以更轻松地创建和制作/解析Web请求/响应(httplib,Mechanize,Beautiful Soup和urllib / urllib2)。安装这些模块并查看其功能。
发出Web请求:
下面是一个屏幕截图,说明了使用Python的SimpleHTTPServer运行的本地Web服务器创建Web请求的语法:
解析HTML:
现在我们可以使用Python创建Web请求,让我们看一个模块来帮助解析HTML。BeautifulSoup是一个非常有用的模块,可帮助解析基于HTML标记的HTML。以下是一些可能对您的一些HTML解析需求有所帮助的示例:
BeautifulSoup的强大功能来自于基于标签解析HTML的能力。您可以在BeautifulSoup实例“iframes = parsed.find_all('iframe')”中使用“find_all”函数。
实际应用:
您经常会找到一个可能需要进行大量查询的网络资源。这是Python脚本发挥作用的地方,可帮助您自动完成任务。我发现自己经常使用的一个网络资源是iplist.net,它可以显示指向给定IP地址的各种域名。
启动脚本时,您需要考虑两件事:
iplist.net的结构非常简单“ http://iplist.net/ <ip> /” - 所以我们可以很容易地从文件中读取IP并循环遍历它们。接下来发出请求,然后检查源代码以查看您感兴趣的部分。在此示例中,我们可以检查源代码并查看HTML标头标记“<h2> domain_name </ h2>” - 因此我们可以使用BeautifulSoup从页面中仅提取此部分。下面开始使用这个脚本,从这里你可以只提取域并将它们打印到STDOUT:
在分析Web应用程序的源代码时,Firebug是一个非常有用的工具。您可以在下面看到它将在屏幕上突出显示源代码对应的内容:
这是您要解析响应的过程类型。查看响应,看看您要提取哪些信息打印到STDOUT。这是一个更复杂的脚本的链接 Primal Security正在解析iplist.net