content

Java爬虫框架 | 爬小说

半腔热情 提交于 2020-01-21 09:35:24
Jsoup,Java爬虫解决方案,中文文档: jsoup 不得不说Java的生态真的好,原来我以为爬虫是只能用Pyhton来写的,结果发现Java的爬虫框架不要太多…… 一分钟你就可以写一个简单爬虫 WebMagic in Action 不过个人觉得Jsoup最好用,最直接也很简单   写了一个Demo,爬取笔趣网的小说,格式已过滤。 public class CrawlText { /*** * 获取文本 * * @param autoDownloadFile * 自动下载文件 * @param Multithreading * 多线程 默认false * @param Url * 网站链接 * @throws IOException */ public static void getText(boolean autoDownloadFile, boolean Multithreading, String Url) throws IOException { String rule = "abs:href"; List<String> urlList = new ArrayList<String>(); Document document = Jsoup.connect(Url) .timeout(4000) .ignoreContentType(true) .userAgent(

记一次微信开放平台第三方平台全网发布自动化测试

我与影子孤独终老i 提交于 2020-01-21 02:59:48
众所周知,在微信开放平台申请第三方平台成功后,开发完成,需要全网发布,这样其他公众号才可以进行授权,不然只能使用申请第三方平台时自己填写的测试公众号 官网文档地址: https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/Post_Application_on_the_Entire_Network/releases_instructions.html 当需要全网发布的时,微信开放平台会自动化测试,验证通过后才可以发布成功。详见官方文档,会给配置的消息与事件通知的地址发送消息进行测试。 Controller /** * 消息与事件接收 * @author yupanpan * @date 2020/1/10 13:32 * @param request * @param appid * @return void */ @RequestMapping("/component/{appid}/event") @ApiOperation("消息与事件接收") public void eventNotice(HttpServletRequest request, @PathVariable("appid") String appid, HttpServletResponse response) throws

java之网络爬虫介绍(非原创)

吃可爱长大的小学妹 提交于 2020-01-20 08:57:13
文章大纲 一、网络爬虫基本介绍 二、java常见爬虫框架介绍 三、WebCollector实战 四、项目源码下载 五、参考文章 一、网络爬虫基本介绍 1. 什么是网络爬虫   网络爬虫(又被称为网页蜘蛛,网络机器人,在社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。 2. 常见问题介绍 爬虫可以爬取ajax信息么?   网页上有一些异步加载的数据,爬取这些数据有两种方法:使用模拟浏览器(问题1中描述过了),或者分析ajax的http请求,自己生成ajax请求的url,获取返回的数据。如果是自己生成ajax请求,使用开源爬虫的意义在哪里?其实是要用开源爬虫的线程池和URL管理功能(比如断点爬取)。   如果我已经可以生成我所需要的ajax请求(列表),如何用这些爬虫来对这些请求进行爬取?   爬虫往往都是设计成广度遍历或者深度遍历的模式,去遍历静态或者动态页面。爬取ajax信息属于deep web(深网)的范畴,虽然大多数爬虫都不直接支持。但是也可以通过一些方法来完成。比如WebCollector使用广度遍历来遍历网站。爬虫的第一轮爬取就是爬取种子集合(seeds)中的所有url。简单来说,就是将生成的ajax请求作为种子,放入爬虫。用爬虫对这些种子,进行深度为1的广度遍历

动态选项卡实现 CSS & js

扶醉桌前 提交于 2020-01-20 04:20:01
动态选项卡实现 CSS & js 教程地址 : 原文地址(YouTube) B站教程 : 原文转载(bilibili) 两个视频的内容相同,第二个为转载 效果图 代码区 以下代码为本人填写,转载请注明教程地址和本贴地址 html < div class = " container " > < div class = " icon " > <!-- 4个按钮 --> < div class = " iconBx active " data-id = ' content1 ' > < img src = " img/btn1.png " > </ div > < div class = " iconBx " data-id = ' content2 ' > < img src = " img/btn2.png " > </ div > < div class = " iconBx " data-id = ' content3 ' > < img src = " img/btn3.png " > </ div > < div class = " iconBx " data-id = ' content4 ' > < img src = " img/btn4.png " > </ div > </ div > <!-- 按钮内容 --> < div class = " content "

web前端入门到实战:Html头部meta标签

这一生的挚爱 提交于 2020-01-19 20:11:21
meta元素有4个属性:name、http-equiv、content、charset.meta标签通过name属性来表述页面文档的元信息,通过http-equiv属性设置http请求指令,通过charset设置页面的字符编码。按照属性设置分类,meta可以分为三类: name属性和content属性组合,构成名称/值对,用于描述网站信息. 标准的meta名称包括application-name、author、description、generator等。 示例代码: <meta name="keywords" content="british,typeface,font,fonts"/> 其中keywords和description这两个名称的使用率最高,是搜索引擎优化的主要手段之一,推荐读者使用。 http-equiv属性和content属性组合,设置特定的http指令; 其中content-type、default-style和refresh已经确定,content-language和set-cookie还未正式确定. 此类型meta应该谨慎使用。不推荐使用<meta http-equiv="refresh" content="300"/>,某些搜索引擎遇到此meta时会停止解析 页面剩余的部分。<meta http-equiv="default-style"

Emoji表情在网页中显示

纵然是瞬间 提交于 2020-01-19 19:08:21
最近遇到一个项目,客户手机上发送的表情要在电脑网页中显示,没有找到简便方法,于是有了以下方案。 由于Emoji表情传到后台是“口”,怎么找出接收数据中的表情是关键,各种搜索后,我用下面的正则表达式匹配到所有的Emoji表情,然后进行替换成图片。 匹配表情的正则表达式 Regex reg = new Regex("(\uD83C[\uDDE8-\uDDFF]\uD83C[\uDDE7-\uDDFF])|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\u2600-\u27ff][\uFE0F]|[\u2600-\u27ff]"); 参考资料 http://www.emoji-cheat-sheet.com/ (官方网站) http://apps.timwhitlock.info/emoji/tables/unicode#block-4-enclosed-characters http://bbs.csdn.net/topics/390055415 PHP-emoji转换表 10款受欢迎的Github Emoji开源库 emoji表情来自 http://www.emoji-cheat-sheet.com/ (官方网站、名称为英文版、在线) https://github.com/Ranks/emojify.js (名称为英文版 png) https:/

奖学金公示系统初步完成

陌路散爱 提交于 2020-01-18 22:31:38
前端界面 搜索结果界面 (搜索软件专业学生) 技术要点 jsp mysql HTML 开发过程 网上自学jsp基本语法 搭建环境 eclipse安装java EE,创建web工程 安装mysql创建数据库 安装apache tomcat服务器在电脑上,学习基本使用方法 下载安装链接器mysql-connector-java, 放在项目Java Resources/Libraries 中 mysql中新建数据库,数据表(并设为主要工作表),导入csv文件 设4列,分别为 id, college, name,type. 基本思路 为方便写代码,添加sql以及c标签库,到web app libraries中。 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%> jsp中连接数据库 <sql:setDataSource var="snapshot" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/Scholarship?useUnicode=true&characterEncoding=utf-8" user

python之文件操作

半腔热情 提交于 2020-01-18 04:05:24
Python的文件操作: 本节主要内容: 初识文件操作 只读(r, rb) 只写(w, wb) 追加(a, ab) r+读写 w+写读 a+写读(追加写读) 其他操作方法 文件的修改以及另一种打开文件句柄的方式 一、初始文件操作 使用python来读写文件是非常简单的操作.,我们 使用open()函数来打开一个文件, 获取到文件句柄 , 然后 通过文件句柄就可以进行各种各样的操作 了, 根据打开方式的不同能够执行的操作也会有相应的差异。 打开文件的方式: r, w, a, r+, w+, a+, rb, wb, ab, r+b, w+b, a+b 默认使用的是r(只读)模式 二、 只读操作(r, rb) f = open ( "护士少妇嫩模.txt" , mode = "r" , encoding = "utf-8" ) content = f . read ( ) print ( content ) f . close ( ) 需要注意encoding表示编码集。 根据文件的实际保存编码进行获取数据, 对于我们而言,更多的是utf-8。 rb 读取出来的数据是bytes类型,在rb模式下,不能选择encoding字符集。 f = open ( "护士少妇嫩模.txt" , mode = "rb" ) content = f . read ( ) print ( content )

增量式

女生的网名这么多〃 提交于 2020-01-18 03:42:15
当我们在浏览相关网页的时候会发现,某些网站定时会在原有网页数据的基础上更新一批数据,例如某电影网站会实时更新一批最近热门的电影。小说网站会根据作者创作的进度实时更新最新的章节数据等等。那么,类似的情景,当我们在爬虫的过程中遇到时,我们是不是需要定时更新程序以便能爬取到网站中最近更新的数据呢? 1. 增量式爬虫 概念:通过爬虫程序监测某网站数据更新的情况,以便可以爬取到该网站更新出的新数据。 如何进行增量式的爬取工作: 在发送请求之前判断这个URL是不是之前爬取过 在解析内容后判断这部分内容是不是之前爬取过 写入存储介质时判断内容是不是已经在介质中存在 分析: 不难发现,其实增量爬取的核心是 去重 , 至于去重的操作在哪个步骤起作用,只能说各有利弊。在我看来,前两种思路需要根据实际情况取一个(也可能都用)。第一种思路适合不断有新页面出现的网站,比如说小说的新章节,每天的最新新闻等等;第二种思路则适合页面内容会更新的网站。第三个思路是相当于是最后的一道防线。这样做可以最大程度上达到去重的目的。 去重方法 将爬取过程中产生的url进行存储,存储在redis的set中。当下次进行数据爬取时,首先对即将要发起的请求对应的url在存储的url的set中做判断,如果存在则不进行请求,否则才进行请求。 对爬取到的网页内容进行唯一标识的制定,然后将该唯一表示存储至redis的set中

有用的HTML+CSS片段

血红的双手。 提交于 2020-01-17 07:51:18
HTML5页面模板 现在国外很多制作新网站直接使用了HTML5代码,当然我们也得跟上,下面是一个常用的HTML5默认模板,就像你用Dreamweaver新建一个HTML文件时的代码,只不过现在这个是HTML5的。这个代码为了兼容IE浏览器,所以加入Google托管的 HTML5shiv文件 。其次是我们经常用到的最新的jQuery 1.8.2库。 <!doctype html> <html lang="en-US"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Default Page Title</title> <link rel="shortcut icon" href="favicon.ico"> <link rel="icon" href="favicon.ico"> <link rel="stylesheet" type="text/css" href="styles.css"> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script> <!--[if lt IE 9]> <script