这可能是一个非常简单的任务,但我找不到任何帮助。我有一个格式为 www.xyz.com/somestuff/ID 的网站。我有一个我需要从中获取信息的 ID 列表。我希望有一个简单的脚本去一个站点并以简单的形式为每个 ID 下载(完整的)网页 ID_whatever_the_default_save_name_is 在特定文件夹中。
我可以运行一个简单的 python 脚本来为我做这件事吗?我可以手工完成,它只有 75 个不同的页面,但我希望将来能用它来学习如何做这样的事情。
这可能是一个非常简单的任务,但我找不到任何帮助。我有一个格式为 www.xyz.com/somestuff/ID 的网站。我有一个我需要从中获取信息的 ID 列表。我希望有一个简单的脚本去一个站点并以简单的形式为每个 ID 下载(完整的)网页 ID_whatever_the_default_save_name_is 在特定文件夹中。
我可以运行一个简单的 python 脚本来为我做这件事吗?我可以手工完成,它只有 75 个不同的页面,但我希望将来能用它来学习如何做这样的事情。
Mechanize是一个很棒的包,用于使用 python 爬网。您的问题的一个简单示例是:
import mechanize
br = mechanize.Browser()
response = br.open("www.xyz.com/somestuff/ID")
print response
这只是获取您的 url 并打印来自服务器的响应。
这可以在 python 中使用 urllib 模块简单地完成。这是 Python 3 中的一个简单示例:
import urllib.request
url = 'www.xyz.com/somestuff/ID'
req = urllib.request.Request(url)
page = urllib.request.urlopen(req)
src = page.readall()
print(src)
有关 urllib 模块的更多信息 -> http://docs.python.org/3.3/library/urllib.html
您只想要网站的 html 代码吗?如果是这样,只需使用主机站点创建一个 url 变量并随时添加页码。我将以http://www.notalwaysright.com为例
import urllib.request
url = "http://www.notalwaysright.com/page/"
for x in range(1, 71):
newurl = url + x
response = urllib.request.urlopen(newurl)
with open("Page/" + x, "a") as p:
p.writelines(reponse.read())