Rumah > Soal Jawab > teks badan
爬虫从 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
Apa yang dia maksudkan di sini ialah halaman web yang ditangkap disimpan terus dalam cakera tempatan dalam bentuk fail
PHP中文网2017-04-17 17:49:58
Anda disyorkan agar menggunakan Perayap Awan Shen Archer ( http://www.shenjianshou.cn ) untuk menulis dan melaksanakan perangkak sepenuhnya pada awan Tidak perlu mengkonfigurasi sebarang persekitaran pembangunan, dan pembangunan serta pelaksanaan pantas boleh dilakukan.
Dengan hanya beberapa baris javascript, anda boleh melaksanakan perangkak yang kompleks dan menyediakan banyak fungsi berfungsi: anti-anti-crawler, rendering js, penerbitan data, analisis carta, anti-leeching, dll. Ini adalah masalah yang sering dihadapi dalam proses membangunkan perangkak. The Archer akan membantu anda menyelesaikan semuanya.
Data yang dikumpul:
(1) Anda boleh memilih untuk menerbitkannya ke tapak web, seperti wecenterwordpressdiscuzdedeempire dan sistem cms lain
(2) Anda juga boleh menerbitkannya ke pangkalan data
(3) atau eksport fail ke setempat
Tetapan khusus adalah dalam "Penerbitan & Eksport Data"