一个php的爬虫,将笔趣阁的书可以都下载下来。
数据库:book 表id
--
-- 数据库: `book`
--
-- --------------------------------------------------------
--
-- 表的结构 `id`
--
CREATE TABLE IF NOT EXISTS `id` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(126) NOT NULL,
`txt` varchar(126) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;
文件
<?php
header("Content-type: text/html; charset=utf-8");
$con = mysql_connect("localhost","root","root");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("book", $con);
$title=array();
$book=array();
$key=0;
$url="http://www.biquge.la";
function gettitle($value)
{
$html=curl_get_contents($value);
preg_match_all("/\/book\/[0-9]{1,7}\//i",$html, $match1);
foreach ($match1[0] as $key1 => $value1) {
$ssa=array_search($value1, $GLOBALS["book"]);
if ($ssa===false) {
var_dump($value1);
$GLOBALS["book"][]=$value1;
$url_book=$GLOBALS["url"].$value1;
file_put_contents("book.txt", $GLOBALS["url"].$value1.PHP_EOL,FILE_APPEND);
$html_book=curl_get_contents($url_book);
$url_book_array=explode("/", $url_book);
$count_book_num=count($url_book_array);
$book_num=$url_book_array[$count_book_num-2];
$html_book=mb_convert_encoding($html_book, "UTF-8", "GBK");
//var_dump($html);
preg_match_all("/<dd>.*<\/dd>/i", $html_book, $match_book);
preg_match_all("/<title>.*<\/title>/i", $html_book, $match_book_title_array);
$match_book_title=preg_replace("/<title>/", "", $match_book_title_array[0][0]);
$match_book_title=preg_replace("/<\/title>/", "", $match_book_title);
$match_book_title_arrayone=explode("_", $match_book_title);
var_dump($match_book_title_arrayone[0]);
mysql_query("INSERT INTO `id` (
`id` ,
`name` ,
`txt`
)
VALUES (NULL , '".$match_book_title_arrayone[0]."', '".$book_num.".txt"."')");
foreach ($match_book[0] as $key_book_list => $value_book_list) {
$chapter_array=explode("\"", $value_book_list);
foreach ($chapter_array as $key_chapter => $value_chapter) {
if (preg_match("/[0-9]{1,9}\.html/", $value_chapter)) {
$html_chapter=curl_get_contents($url_book.$value_chapter);
$html_chapter=mb_convert_encoding($html_chapter, "UTF-8", "GBK");
//var_dump($html);
preg_match_all("/<div id=\"content\">.*<\/div>/i", $html_chapter, $match_chapter);
preg_match_all("/<title>.*<\/title>/i", $html_chapter, $match_title);
var_dump($match_title);
$value_content= $match_title[0][0].PHP_EOL.$match_chapter[0][0];
$value_content=str_replace("<br />", PHP_EOL, $value_content);
$value_content=str_replace(" ", " ", $value_content);
$value_content=preg_replace("/<script>.*<\/script>/", "", $value_content);
$value_content=preg_replace("/<title>/", "", $value_content);
$value_content=preg_replace("/<\/title>/", "", $value_content);
$value_content=preg_replace("/<.*>/", "", $value_content);
file_put_contents("book/".$book_num.".txt",$value_content.PHP_EOL,FILE_APPEND);
}
}
}
}
}
preg_match_all("/http:\/\/www.biquge.la\/[a-z]{8,20}\//i", $html, $match);
echo $GLOBALS["key"];
$GLOBALS["key"]++;
//var_dump($match);
while(list($key,$value) = each($match[0])){
$ss=array_search($value, $GLOBALS["title"]);
if ($ss===false) {
var_dump($value);
$GLOBALS["title"][]=$value;
file_put_contents("title.txt", $value.PHP_EOL,FILE_APPEND);
gettitle($value);
}
}
}
function curl_get_contents($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, 1000);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
if (defined('CURLOPT_IPRESOLVE') && defined('CURL_IPRESOLVE_V4')) {
curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
}
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
$r = curl_exec($ch);
curl_close($ch);
return $r;
}
gettitle($url);
mysql_close($con);
?>
一个php的爬虫,将笔趣阁的书可以都下载下来。的更多相关文章
- Jsoup-基于Java实现网络爬虫-爬取笔趣阁小说
注意!仅供学习交流使用,请勿用在歪门邪道的地方!技术只是工具!关键在于用途! 今天接触了一款有意思的框架,作用是网络爬虫,他可以像操作JS一样对网页内容进行提取 初体验Jsoup <!-- Ma ...
- 免app下载笔趣阁小说
第一次更新:发现一个问题,就是有时候网页排版有问题的话容易下载到多余章节,如下图所示: 网站抽风多了一个正文一栏,这样的话就会重复下载1603--1703章节. 解决办法: 于是在写入内容前加了一个章 ...
- scrapy框架爬取笔趣阁
笔趣阁是很好爬的网站了,这里简单爬取了全部小说链接和每本的全部章节链接,还想爬取章节内容在biquge.py里在加一个爬取循环,在pipelines.py添加保存函数即可 1 创建一个scrapy项目 ...
- python入门学习之Python爬取最新笔趣阁小说
Python爬取新笔趣阁小说,并保存到TXT文件中 我写的这篇文章,是利用Python爬取小说编写的程序,这是我学习Python爬虫当中自己独立写的第一个程序,中途也遇到了一些困难,但是最后 ...
- bs4爬取笔趣阁小说
参考链接:https://www.cnblogs.com/wt714/p/11963497.html 模块:requests,bs4,queue,sys,time 步骤:给出URL--> 访问U ...
- python爬虫-《笔趣看》网小说《悟空看私聊》
小编是个爱看小说的人,哈哈 # -*- coding:UTF-8 -*- ''' 类说明:下载<笔趣看>网小说<悟空看私聊> ''' from bs4 import Beaut ...
- python应用:爬虫框架Scrapy系统学习第四篇——scrapy爬取笔趣阁小说
使用cmd创建一个scrapy项目: scrapy startproject project_name (project_name 必须以字母开头,只能包含字母.数字以及下划线<undersco ...
- python3 爬虫继续爬笔趣阁 ,,,,,,,
学如逆水行舟,不进则退 今天想看小说..找了半天,没有资源.. 只能自己爬了 想了半天.,,,忘记了这个古老的技能 捡了一下 import requests from bs4 import Beaut ...
- Python爬取笔趣阁小说,有趣又实用
上班想摸鱼?为了摸鱼方便,今天自己写了个爬取笔阁小说的程序.好吧,其实就是找个目的学习python,分享一下. 1. 首先导入相关的模块 import os import requests from ...
随机推荐
- HTML5属性运用
HTML5 接触移动端,或专注于支持HTML5浏览器进行前端开发的工作者都不会陌生,这个已经普及很广,对于我专注于PC端开发的人来说,觉得陌生但又觉得很熟悉,大家都知道做PC前端开发为了兼容IE老版本 ...
- BZOJ3740 : pku2842 N-dimension Matching N维匹配
做$n$次递推求出$n$维Hash值即可,时间复杂度$O(nk)$. #include<cstdio> #define N 500010 int n,i,j,t,delta,ca,cb,a ...
- hadoop 流streaming跑python程序
先放上命令: hadoop jar /usr/hadoop-/contrib/streaming/hadoop-streaming-.jar -mapper mapper.py -file mappe ...
- Node.js 手册查询-5-Ejs 方法
express 中使用 //设置模板目录 app.set('views', path.join(__dirname, 'views')); //设置模板引擎 app.set('view engine' ...
- 【Java】RuleSource约束常用方法整理
1-常用约束规则RuleSource的设置方法 例如: addRules(new Rules(ProgramFeeItem.class){ protected void initRules() { ...
- UESTC 30 最短路,floyd,水
最短路 Time Limit: 3000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) Submit Statu ...
- zip ubuntu使用
http://www.cnblogs.com/daizhuacai/p/3174885.html 安装: sudo apt-get install zip 解压: unzip -d path file ...
- Solr5.0配置中文分词包
Solr中默认的中文分词是用Lucene的一元分词包. 现在说明在Solr5.0中配置Lucene的SmartCN中文分词包. 1,进入Solr的安装目录,我这里是:/root/nutch/solr- ...
- 纯css3绘制扇形
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- Maya 2015 中英文切换
我们在使用Maya软件的时候,有时候需要把语言在中英文之间切换,目前我感觉在不用插件的情况下,下面两种方法可以比较容易的做到: 方法一: 右键我的电脑属性,高级系统设置里面找到环境变量面板,然后新建一 ...