python - 爬虫爬取网页后,如何保存网页?
黄舟
黄舟 2017-04-17 17:47:58
0
4
1472

爬虫从 Internet 中爬取众多的网页作为原始网页库存储于本地,然后网页分析器抽取网页中的主题内容交给分词器进行分词,得到的结果用索引器建立正排和倒排索引,这样就得到了索引数据库,用户查询时,在通过分词器切割输入的查询词组并通过检索器在索引数据库中进行查询,得到的结果返回给用户。

请问这里原始网页库是该怎么实现,是直接存到数据库里吗?还是什么形式?
如果是存到数据库里,应该有哪些字段?

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

répondre à tous(4)
黄舟
#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;
迷茫

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

左手右手慢动作

Des composants de stockage d'objets peuvent être utilisés.

Ty80

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 localLes paramètres spécifiques sont dans "Publication et exportation de données"

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal