我对 python 和我将在这个问题中讨论的所有其他内容相当陌生,但我想开始一个我一直在考虑的项目。基本上我想抓取网页并在网页上实时抓取网址时显示网址。我编写了一个简单的爬虫,它将 URL 存储在一个列表中。我想知道如何将此列表放入数据库并每 x 秒更新一次数据库,以便我可以访问数据库并定期在网页上输出链接列表。
我对实时 Web 开发知之甚少,但这是另一天的话题。不过现在,我更关心如何将列表放入数据库。我目前正在使用很容易相处的 web2py 框架,但是如果你们对我应该在哪里查看,我应该检查哪些框架有任何建议......请在你的答案中也发表评论,谢谢。
简而言之,我不擅长的事情是:Python、数据库、实时网络开发。
这是我的爬虫的代码,如果它有帮助的话:)谢谢
from urllib2 import urlopen
def crawler(url,x):
crawled=[]
tocrawl=[]
def crawl(url,x):
x=x+1
try:
page = urlopen(url).read()
findlink = page.find('<a href=')
if findlink == -1:
return None, 0
while findlink!=-1:
start = page.find(('"'), findlink)
end = page.find(('"'), start+1)
link = page[start+1:end]
if link:
if link!=url:
if link[0]=='/':
link=url+link
link=replace(link)
if (link not in tocrawl) and (link!="") and (link not in crawled):
tocrawl.append(link)
findlink = page.find('<a href=', end)
crawled.append(url)
while tocrawl:
crawl(tocrawl[x],x)
except:
#keep crawling
crawl(tocrawl[x],x)
crawl(url,x)
def replace(link):
tsp=link.find('//')
if tsp==-1:
return link
link=link[0:tsp]+'/'+link[tsp+2:]
return link