擅长:python、mysql、java
<p>自从用户(在另一个问题中被问到但被删除是因为。。原因..)指出了使用BeautifulSoup作为替代方法的参考,下面是一个工作示例,用于检索所有<code><a href="something.html">something</a></code>链接并将其保存在本地:</p>
<pre><code>import urllib2
from BeautifulSoup import BeautifulSoup, SoupStrainer
from os.path import basename
def store_links(page):
with open(basename(page), 'wb') as fh:
site = urllib.urlopen(page)
site_data = site.read()
fh.write(site_data)
for link in BeautifulSoup(site_data, parseOnlyThese=SoupStrainer('a')):
if link.has_attr('href'):
store_links(link['href'])
store_links('http://www.nytimes.com')
</code></pre>
<p>注意:目前还没有在锁定的机器上进行测试,因此可能会出现语法错误,但想法是一样的:</p>
<ol>
<li>创建一个递归函数,该函数在找到链接时将调用自身</li>
<li>给递归函数一个起点,让它发疯</li>
</ol>