当前位置: 首页 > 软件库 > 应用工具 > 网络爬虫 >

depth-crawler-python

三级页面定向爬取
授权协议 MIT
开发语言 Python
所属分类 应用工具、 网络爬虫
软件类型 开源软件
地区 不详
投 递 者 洪高扬
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

depth-crawler 是一个三级页面定向爬取工具。

功能

1.在python中运用scrapy框架定向爬取至三级页面,保存html页面内容与链接为xlsx表格

2.将xlsx表格内容存至elasticsearch中

3.elasticsearch查询的时候运用ik分词

4.在python中运用flask框架写前端页面呈现搜索页面和搜索的信息内容

5.查询结果高亮显示

 

安装说明

首先安装python用于编辑代码,然后安装jdk环境用于后续安装elasticsearch,elasticsearch数据库对爬取下来的数据进行处理。npm 是随同 node.js 一起安装的包管理工具,用于node.js插件管理(包括安装、卸载、管理依赖等),elasticsearch-head是elasticsearch用于监控 Elasticsearch 状态的客户端插件,包括数据可视化、执行增删改查操作等,使用JavaScript开发的依赖于Node.js

1.python(3.8.10)打开cmd输入python,有版本号说明安装成功

2.jdk(1.8.0_241)注意环境变量的配置,打开cmd输入java -version,有版本号说明安装成

3.elasticsearch(6.8.21)找到elasticsearch.bat启动成功后,在浏览器中输入(localhost:9200)出现如图便安装成

3.1.nodejs(v16.17.0)找到elasticsearch.bat启动成功后,在浏览器中输入(localhost:9200)出现如图便安装成功

3.2.elasticsearch-head(6.8.21)与elasticsearch版本一致(head插件的安装和基本使用)通过elasticsearch-head-master打开命令行,输入(grunt server)

4.扩展库部分 ——pip install 库名==版本号 (可以在cmd中输入pip list 查看所有的版本号)

4.1.flask(2.1.2)——使用 Python用于编写web应用的框架

在cmd中输入(pip install flask),指定版本号的话输入(pip install flask==2.1.2)

4.2.scrapy(2.6.1)——用于爬取网站数据、提取结构性数据

4.3.elasticsearch(7.15.2)——用于搜索信息

4.4.pandas(1.4.1)——用于处理表格数据

4.5.openpyxl(3.0.9)——可用于读写excel表格

4.6.XlsxWriter(3.0.3)——用于创建Excel XLSX文件

 

启动流程

elasticsearch:

1.在"elasticsearch"的文件夹下打开“bin文件夹然后双击"elasticsearch.bat"开始运行

2.在"elasticsearch"的文件夹下打开“head"文件夹下的"elasticsearch-head-master"复制路径(D:\\ES\\elasticsearch-6.8.21\\head\\elasticsearch-head-master)打开cmd进入路径下输入命令(grunt server)

 

效果浏览

elasticsearch:

1.打开浏览器输入(http://localhost:9200/)访问端口

2.打开浏览器输入(http://localhost:9100/)可看到elasticsearch数据库中信息

前端 :

1.运行(route.py)在浏览器中访问第一个路由(http://127.0.0.1:5000/search)可看到搜索页面

2.在搜索框中输入搜索内容(如:纺织)可出现相关信息,在最后也有分页效果

3.点击标题和内容部分会返回原网址

4.点击快照会进去html页面

5.每条内容回根据点击次数提高排名,在浏览器中输入(http://127.0.0.1:5000/restore)排名恢复原样

  • A Basic Website Crawler, in Python, in 12 Lines of Code. « Null Byte A Basic Website Crawler, in Python, in 12 Lines of Code. « Null Byte Step 1 Layout the logic. OK, as far as crawlers (web spiders)

  • (proxy_ip_project) C:\Users\user>scrapy --help Scrapy 1.5.0 - no active project Usage: scrapy <command> [options] [args] Available commands: bench Run quick benchmark test fetch

  • Python作为一门强大的脚本语言,我们经常使用python来写爬虫程序,简单的爬虫会写,可是用python写多线程网页爬虫,应该如何写呢?一般来说,使用线程有两种模式,一种是创建线程要执行的函数,把这个函数传递进Thread对象里,让它来执行.另一种是直接从Thread继承,创建一个新的class,把线程执行的代码放到这个新的class里。 实现python多线程(http://www.maiz

  • python是支持多线程的, 主要是通过thread和threading这两个模块来实现的,本文主要给大家分享python实现多线程网页爬虫 一般来说,使用线程有两种模式, 一种是创建线程要执行的函数, 把这个函数传递进Thread对象里,让它来执行. 另一种是直接从Thread继承,创建一个新的class,把线程执行的代码放到这个新的class里。 实现多线程网页爬虫,采用了多线程和锁机制,实现

  • Python Web Crawl requests 库 Request 对象 Response 对象的属性 获取网页内容-代码示例 Requests 库的异常 通用代码框架 HTTP requests.request 网络爬虫带来的问题 网页爬虫的尺寸 网络爬虫的限制 Robots 协议 网络爬虫示例 爬取一个京东页面 爬取一个亚马逊页面 搜索引擎关键词提交 网络图片的爬取 IP地址归属地的自动查

  • __author__ = 'chenyang' #!/usr/bin/env python """Web Crawler/Spider This module implements a web crawler. This is very _basic_ only and needs to be extended to do anything usefull with the traverse

  • scrapy简介 按scrapy官网的介绍来说,scrapy是一种快速的高级web crawling和web scraping,用于对网站进行爬取并从其页面提取结构化数据的框架,也就是爬虫。它可以用于数据挖掘、数据监控和自动化测试。 初尝scrapy 安装scrapy 在有python环境下,可以直接使用pip安装。 pip install scrapy 安装完成后,直接在命令中输入scrapy

  • 在Python爬虫基础博文中,python爬虫基础,写了一个获取深度为maxdepth内所有url函数,并且下载其网页。那么这篇博文我将详细讲解如何从这些下载的网页中获取我们想要数据。首先我们先得对python正则表达式有所了解,打开这个网页查看python正则表达式 还需要对正则表达式里面一些常见的很容易混淆方法,例如re.search,re.match,有区别性的认识,打开这个网页查看Pyth

  • 在多协程程序代码过程中,试验了一个小项目,获取上千个url中页面,代码如下: import gevent from gevent.queue import Queue import time import requests from gevent import monkey#把下面有可能有IO操作的单独做上标记 monkey.patch_all() # 将IO转为异步执行的函数 link_li

 相关资料
  • 问题内容: 如何在Django中完成简单的重定向(例如,在ColdFusion中或header()对于PHP)? 问题答案: 这很简单: 官方Django文档中的更多信息 更新:Django 1.0 显然,现在使用,在Django中有一种更好的方法。 范例 通用视图文档中还有更多内容。信贷卡尔斯Barrobés。 更新#2:Django 1.3+ 在Django 1.5中,redirect_to不

  • 我有一个页面,它用ajax加载动态内容,然后在一定时间后重定向(不固定)。我如何强制Selenium Webdriver等待页面重定向,然后立即转到另一个链接?

  • 问题内容: 我想做的是,当他们最初使用此方法时,进入免责声明页面,然后在此之后的任何时候都转到另一个页面。我当前的方法只是带给我免责声明页面。让我知道是否需要进一步解释…谢谢!!! 基本上,我需要在第一次点击此方法时添加一个If来转到页面,我想是这样的: 问题答案: 当该人第一次点击该页面时,在会话层上抛出一个标志。然后,无论何时有人进入页面,您都可以检查它是否存在,并相应地重定向他们。唯一的问题

  • 页面重定向在Web应用程序有很多原因是必要的。您可能希望将用户重定向到另一个页面,当一个特定的动作发生,或者有错误的情况下。例如,当用户登录网站,他经常被重定向到他的主页或个人的仪表板。在Django中,定向使用“redirect”的方法来实现。 在“redirect”方法需要作为参数:URL要被重定向到的字符串的视图名字。 myapp/views 到现在为止如下所示 − 让我们修改hello,以

  • 问题内容: PHP是否可以在执行函数后进行重定向调用?我正在创建一个函数,希望将其重定向到位于同一根文件夹中的文件。能做到吗 问题答案: 是的,您将使用标题功能。 在此之后立即调用是一个好习惯,这样就不会执行其下面的代码。 另外,从文档中: 请记住,必须先通过常规HTML标记,文件中的空白行或从PHP发送任何实际输出,然后调用header()。使用include()或require(),函数或另一

  • 当需要将文档移动到一个新的位置时,就需要使用JSP重定向了。 最简单的重定向方式就是使用response对象的sendRedirect()方法。这个方法的签名如下: public void response.sendRedirect(String location) throws IOException 这个方法将状态码和新的页面位置作为响应发回给浏览器。您也可以使用setStatus()和