服务热线 400-660-8066

武汉网站建设
首页 站内资讯

武汉网站建设

站内资讯
武汉网站建设 / 站内资讯 / 产品资讯 / 正文

php抓取第三方网站的小说内容

来源: All文章
发布时间:2023-08-02 09:33:36

  这里用到QueryList这个第三方插件,安装要求

  php=

  7.1

  composer安装

  composerrequirejaeger/querylist

  或者直接下载

  开箱即用:https://pan.baidu.com/s/1QPMUalL5HcVJ4L7zUY0LMg

  require_onceapp()-getRootPath().extend/queryList/autoload.php;//引入插件

  $QueryList=new\QL\QueryList();

  $url='xxxxxxxxxxxxxxxxxxx';//需要获取小说的链接

  $rt=[];

  //根据页面获取书籍信息

  $rules=[

  'title'=['.ta','text'],//获取小说名称

  'link'=['.na','href'],//获取小说的链接

  'author'=['.authora','text'],//获取小说的作者

  'status'=['.aboverspan','text'],//获取小说的状态

  ];

  $range='.ul_m_listli';//切片选择器

  //encoding('UTF-8','GB2312')

  $rt=$QueryList-get($url)-rules($rules)-range($range)-removeHead()-encoding('UTF-8','GB2312')-query()-getData();

  dump($rt-all());exit;

  根据网站的机构去获取书籍内容,比如这个网站书名是在class.ta下面的,链接是在class.na下面的

  range:切片选择工具就是书籍循环的外包结构可以将书籍分割成一个一个的数组

  remove:可以将内容中的部分内容过滤掉

  $html=STR

  pid=content

  span class=tt作者:xxx/span

  这是正文内容段落

  1.....

  span这是正文内容段落2/span

  p这是正文内容段落

  3....../

  span这是广告/span

  p这是版权声明!/

  /

  STR;

  $rules=[

  'content'=['#content','html']

  ];

  $rt=QueryList::rules($rules)

  -html($html)

  -query()

  -getData(function($item){

  $ql=QueryList::html($item['content']);

  $ql-find('.tt,span:last,p:last')-remove();

  $item['content']=$ql-find('')-html();

  return$item;

  });

  Array

  (

  [0]=Array

  (

  [content]=这是正文内容段落

  1.....

  span这是正文内容段落2/span

  p这是正文内容段落

  3....../

  )

  )

  print_r($rt-all());

  $rt-find('.tt,span:last,p:last')-remove();

  encoding:作用于内容的,原来的网站'GB2312'获取的内容会出现乱码,需要将他转换成utf-8。$html=STR

  

  p这是内容/

  /

  STR;

  $rule=[

  'content'=['pp:last','text']

  ];

  $data=QueryList::html($html)-rules($rule)

  -encoding('UTF-8','GB2312')-query()-getData();

  设置输入输出编码,并移除html头部

  如果设置输入输出参数仍然无法解决乱码,那就使用removeHead()方法移除html头部

  removeHead:过滤掉头部

  这样我们就将这个页面的书籍列表都获取下来

  让后通过循环去获取分页的数据,根据书籍链接获取书籍的章节,封面等其他数据,最后通过章节链接获取到小说内容。

* 文章来源于网络,如有侵权,请联系客服删除处理。
在线 咨询

添加动力小姐姐微信

微信 咨询

电话咨询

400-660-8066

我们联系您

电话 咨询
微信扫码关注动力小姐姐 X
qr