web爬虫与Django前端的接口

2024-10-03 09:11:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着做三件事。在

第一:抓取和存档,至少每天,一个预定义的网站集。在

第二:对这些数据运行整夜批处理python脚本(文本分类)。在

三:向用户公开一个基于Django的前端,让他们搜索爬网数据。在

我一直在玩apachenutch/Lucene,但是当我可以使用另一个爬虫引擎时,让它更好地使用Django似乎太困难了。在

问题950790建议我可以用Django自己编写爬虫程序,但我不知道该怎么做。在

基本上-有没有什么可以用Django编写爬虫程序或现有python爬虫程序的指南?或者我应该在第二步中加入'turning into Django friendly stuff'并编写一些粘合代码?或者,最后,我应该放弃Django吗?不过,我真的需要一些可以从前端快速搜索的东西。在


Tags: 数据django用户引擎文本程序脚本网站
3条回答

如果您将django项目的应用程序目录插入到搜索路径,您可以编写使用Django ORM功能的标准Python脚本。我们有一个/admin/目录,其中包含执行各种任务的脚本,每个脚本的顶部是一个块,看起来像:

sys.path.insert(0,os.path.abspath('../my_django_project'))
sys.path.insert(0,os.path.abspath('../'))
sys.path.insert(0,os.path.abspath('../../'))
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'

然后,只需使用您选择的工具来爬网,并使用Django数据库API来存储数据。在

您可以编写自己的爬虫程序,使用urllib2获取页面,使用Beautiful Soup解析HTML查找内容。在

下面是一个阅读页面的例子:

http://docs.python.org/library/urllib2.html#examples

下面是一个解析页面的示例:

http://www.crummy.com/software/BeautifulSoup/documentation.html#ParsingHTML

如果您不想使用Django ORM编写crawler(或者已经有了工作的crawler),那么可以在crawler和Django powred前端之间共享数据库。在

你应该可以使用Django创建和编辑现有的Django模型。 简单的方法如下:

http://docs.djangoproject.com/en/dev/howto/legacy-databases/

相关问题 更多 >