Я довольно новичок в python и обо всем остальном, о чем я собираюсь поговорить в этом вопросе, но я хочу начать с проекта, о котором я думал, когда-то сейчас , В основном я хочу сканировать веб-страницы и отображать URL-адреса, когда они просматриваются в реальном времени на веб-странице. Я закодировал простой искатель, который хранит URL-адреса в списке. Мне было интересно, как получить этот список в базе данных и обновить базу данных каждые x секунд, чтобы я мог обращаться к базе данных и периодически выводить список ссылок на веб-странице.Как хранить обходные данные в базе данных
Я не так много знаю о веб-разработке в режиме реального времени, но это тема для другого дня. Однако сейчас я больше беспокоюсь о том, как получить список в базе данных. В настоящее время я использую платформу 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
это обновляет базу данных, если она помещается в рекурсивный код, такой как мой, или перезаписывает данные в базе данных каждый раз, когда он вызывается? – sasogeek
он будет добавлять новую строку каждый раз. поскольку web2py идет, я не использовал его раньше, но sqlite использует большинство стандартных sql-синтаксисов просто отлично. просто импортируйте sqlite3 вместо mysqldb, а строка подключения должна быть просто именем файла. например: 'conn = sqlite3.connect ('file')' –