Maison > Questions et réponses > le corps du texte
爬虫从 Internet 中爬取众多的网页作为原始网页库存储于本地,然后网页分析器抽取网页中的主题内容交给分词器进行分词,得到的结果用索引器建立正排和倒排索引,这样就得到了索引数据库,用户查询时,在通过分词器切割输入的查询词组并通过检索器在索引数据库中进行查询,得到的结果返回给用户。
请问这里原始网页库是该怎么实现,是直接存到数据库里吗?还是什么形式?
如果是存到数据库里,应该有哪些字段?
黄舟2017-04-17 17:49:58
#coding=utf-8
import urllib.request
import re
import os
'''
Urllib 模块提供了读取web页面数据的接口,我们可以像读取本地文件一样读取www和ftp上的数据
urlopen 方法用来打开一个url
read方法 用于读取Url上的数据
'''
def getHtml(url):
page = urllib.request.urlopen(url);
html = page.read();
return html;
def getImg(html):
imglist = re.findall('img src="(http.*?)"',html)
return imglist
html = getHtml("https://www.zhihu.com/question/34378366").decode("utf-8");
imagesUrl = getImg(html);
if os.path.exists("D:/imags") == False:
os.mkdir("D:/imags");
count = 0;
for url in imagesUrl:
print(url)
if(url.find('.') != -1):
name = url[url.find('.',len(url) - 5):];
bytes = urllib.request.urlopen(url);
f = open("D:/imags/"+str(count)+name, 'wb');
f.write(bytes.read());
f.flush();
f.close();
count+=1;
迷茫2017-04-17 17:49:58
Ce qu'il veut dire ici, c'est que les pages Web capturées sont directement stockées sur le disque local sous forme de fichiers
PHP中文网2017-04-17 17:49:58
Il est recommandé d'utiliser Shen Archer Cloud Crawler ( http://www.shenjianshou.cn ) pour écrire et exécuter le robot entièrement sur le cloud. Il n'est pas nécessaire de configurer un environnement de développement, et un développement et une mise en œuvre rapides sont possibles.
Avec seulement quelques lignes de javascript, vous pouvez implémenter des robots complexes et fournir de nombreuses fonctions fonctionnelles : anti-anti-crawlers, rendu js, publication de données, analyse de graphiques, anti-sangsue, etc. Ce sont des problèmes souvent rencontrés en cours de développement de robots d'exploration, The Archer vous aidera à tout résoudre.
Données collectées :
(1) Vous pouvez choisir de les publier sur le site Web, tel que wecenterwordpressdiscuzdedeempire et d'autres systèmes cms
(2) Vous pouvez également les publier dans la base de données
(3) ou exporter le fichier en local<🎜 >Les paramètres spécifiques sont dans "Publication et exportation de données"