我是软件开发的新手,我不知道该怎么做。我想访问网站的每个页面并从每个页面中获取特定的数据。我的问题是,我不知道如何在不提前知道各个网址的情况下遍历所有现有页面。例如,我想访问 url 开头的每个页面
“http://stackoverflow.com/questions/”
有没有办法编译一个列表然后遍历它,或者是否可以在不创建一个巨大的 url 列表的情况下做到这一点?
尝试刮擦。
它为您处理所有爬网,让您专注于处理数据,而不是提取数据。我不会复制粘贴教程中已有的代码,而是留给您阅读。
要从网站抓取特定的数据位,您可以使用一些网络抓取工具,例如scrapy。
如果需要的数据是由 javascript 生成的,那么您可能需要类似浏览器的工具,例如Selenium WebDriver,并手动实现对链接的抓取。
例如,您可以制作一个简单的 for 循环,如下所示:
def webIterate():
base_link = "http://stackoverflow.com/questions/"
for i in xrange(24):
print "http://stackoverflow.com/questions/%d" % (i)
输出将是:
http://stackoverflow.com/questions/0
http://stackoverflow.com/questions/2
http://stackoverflow.com/questions/3
...
http://stackoverflow.com/questions/23
这只是一个例子。您可以传递许多问题并随心所欲地提出问题