2012-06-14 63 views
0

我是软件开发新手,我不确定如何去做这件事。我想访问一个网站的每一页,并从每一个网站上抓取一些特定的数据。我的问题是,我不知道如何在不知道个别URL的情况下提前遍历所有现有页面。例如,我想其URL开始的每个页面访问带有如何使用Python遍历网站的页面?

“http://stackoverflow.com/questions/”

有没有办法来造册,然后通过迭代,还是有可能做到这一点,而不创建一个巨大的网址列表?

回答

-2

例如,你可以使循环简单的,就像这样:

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 

这只是一个例子。你可以通过一些问题,并与他们做任何你想要的

+0

我认为StackOverflow只是一个例子。其他网站没有这样一个明确定义的URL方案,需要通过抓取进行解析。 – Blender

+0

Maibe。但是,如果他能告诉我们网站的真实例子,需要进行汇总,那么帮助作者真的会容易得多:) –

+0

我明白这是如何工作的,但是stackoverflow只是一个例子,我正在尝试的网站搜索不使用数字值来编号页面。 – ReginaldJ

3

尝试Scrapy

它为您处理所有爬行,让您专注于处理数据,而不是提取数据。而不是复制粘贴教程中已有的代码,我会留给你阅读。

+0

Scrapy的+1。有一点点的学习曲线,但一旦你掌握了它就很容易使用。 – nathancahill

+0

谢谢,我想我会尝试。我的问题并不是真正处理数据,而是寻找它。我想,如果我知道技术术语,我可以自己看看这个。谢谢您的帮助! – ReginaldJ

0

要从网站获取特定位的数据,您可以使用一些网络抓取工具,例如scrapy

如果需要的数据由javascript生成,那么您可能需要类似浏览器的工具,如Selenium WebDriver,并实现手动抓取链接。