Heim  >  Fragen und Antworten  >  Hauptteil

python - 爬虫爬取网页后,如何保存网页?

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

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

黄舟黄舟2763 Tage vor1442

Antworte allen(4)Ich werde antworten

  • 黄舟

    黄舟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;

    Antwort
    0
  • 迷茫

    迷茫2017-04-17 17:49:58

    他这里的意思是抓取到的网页直接以文件的方式存放到本地磁盘

    Antwort
    0
  • ringa_lee

    ringa_lee2017-04-17 17:49:58

    可以使用对象存储组件。

    Antwort
    0
  • PHP中文网

    PHP中文网2017-04-17 17:49:58

    推荐大家使用下神箭手云爬虫( http://www.shenjianshou.cn ),完全在云上编写和执行爬虫,不需要配置任何开发环境,快速开发快速实现。

    简单几行 javascript 就可以实现复杂的爬虫,同时提供很多功能函数:反反爬虫、 js 渲染、数据发布、图表分析、反防盗链等,这些在开发爬虫过程中经常会遇到的问题都由神箭手帮你解决。
    采集到的数据:
    (1)可以选择发布到网站,如wecenterwordpressdiscuzdede帝国等cms系统
    (2)也可以发布到数据库
    (3)或者导出文件到本地
    具体设置都在“数据发布&导出”中

    Antwort
    0
  • StornierenAntwort