垂直爬虫爬取分页数据

为了爬取全部详情页,一般从列表页开始多线程并发爬取,并发线程数受网络环境(一般表现为超时)和服务器性能影响(一般表现为http响应500)。

1、第一页作为抓取入口url,解析出详情页url及其他分页url,详情页优先爬,避免缓存的url过多;

2、查看总共多少页(如果分页中没有总共多少页,通过总记录数/每页记录数计算出多少页),爬取过程不解析分页url,一次性添加全部分页url, 当然也可以在爬第一页的时候添加全部分页,每爬完一页解析出详情页url,详情页优先爬;

3、有些网站在详情页提供上一条、下一条功能,可以第一条、最后一条详情页作为入口,通过上一条,下一条爬全部,线程多可以增加几条中间的详情页。

爬取分全量爬取和增量爬取,对于数据量大的短时间内无法爬完,可能一天只爬了一部分,第二天ip就被封了,还得使用代理。研发阶段和系统发布之间有时间差问题,程序开发完的时候全量爬了数据,系统进入集成测试,可能一个月后发布;增量爬取如果按天增量,还需要考虑时间跨度较大(一个月)的爬取方案。

时间: 2024-11-16 07:34:50

垂直爬虫爬取分页数据的相关文章

python爬虫——爬取网页数据和解析数据

1.网络爬虫的基本概念 网络爬虫(又称网络蜘蛛,机器人),就是模拟客户端发送网络请求,接收请求响应,一种按照一定的规则,自动地抓取互联网信息的程序.只要浏览器能够做的事情,原则上,爬虫都能够做到. 2.网络爬虫的功能   图2 网络爬虫可以代替手工做很多事情,比如可以用于做搜索引擎,也可以爬取网站上面的图片,比如有些朋友将某些网站上的图片全部爬取下来,集中进行浏览,同时,网络爬虫也可以用于金融投资领域,比如可以自动爬取一些金融信息,并进行投资分析等. 有时,我们比较喜欢的新闻网站可能有几个,每次

爬虫爬取网页数据

public static void Main(string[] args) { string url = "https://ly.esf.fang.com/house-a010204-b012374/";//所需要爬取网站地址 string data = GetWebContent(url); var htmlDoc = new HtmlDocument(); htmlDoc.LoadHtml(data);//加载数据流 HtmlNodeCollection htmlNodes =

通过wireshark获取应用接口并使用爬虫爬取网站数据(二)

接上文 找到接口之后连续查看了几个图片,结果发现图片都很小,于是用手机下载了一个用wireshark查看了一下url 之前接口的是 imges_min下载的时候变成了images soga,知道之后立马试了一下 果然有效, 但是总不能一个一个的查看下载吧 于是连夜写了个java爬虫 下面是代码 package com.feng.main; import java.io.File; import java.io.FileOutputStream; import java.io.IOExceptio

通过wireshark获取应用接口并使用爬虫爬取网站数据(一)

前言:设计内容比较繁杂,包括apk反编译,wireshark使用,java爬虫, 一次无聊的时候朋友给我推送了一个比较绅士的app 然而当我想看第四个的时候 这尼玛,(心中仿佛一万只草泥马奔腾而过),而且会员是需要付费的,这... 果断选择不付费, 先上百度看看,确实有官网,但是官网只留了一个下载app的链接(后来知道为什么了) 可是这还是不行,果断选择反编译 反编译得到源码,但是它的数据全部是从.so动态链接库里面得到的,接口应该也在里面,后来试着反编译了一下.so文件,生成的是汇编,这难度太

爬虫再探实战(五)———爬取APP数据——超级课程表【一】

关于爬虫,开始以为只能爬取网页数据,后来知道APP也能抓取.于是,在学校利用空闲时间,耗时两周实现了数据的抓取和简单的数据分析. 目标,抓取超级课程表XX大学(其实是我们大学啦...)学生20000条发帖信息.思路如下: STEP1:为我们的爬虫找到入口 APP请求数据,也是通过网络协议,这样,我们就抓包来定位入口,这里我用的是fiddler.关于设置手机和fiddler的关联,请参考这篇文章. 找到登陆入口为:http://120.55.151.61/V2/StudentSkip/loginC

爬虫实例 利用Ajax爬取微博数据

随着代理IP技术的普及,爬虫的使用也变得简单起来,许多企业和个人都开始用爬虫技术来抓取数据.那么今天就来分享一个爬虫实例,帮助你们更好的理解爬虫.下面我们用程序模拟Ajax请求,将我的前10页微博全部爬取下来.首先,定义一个方法来获取每次请求的结果.在请求时,page是一个可变参数,所以我们将它作为方法的参数传递进来,相关代码如下:首先,这里定义了base_url来表示请求的URL的前半部分.接下来,构造参数字典,其中type.value和containerid是固定参数,page是可变参数.接

java爬虫爬取博客园数据

网络爬虫 编辑 网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用的名字还有蚂蚁.自动索引.模拟程序或者蠕虫. 网络爬虫按照系统结构和实现技术,大致可以分为以下几种类型:通用网络爬虫(General Purpose Web Crawler).聚焦网络爬虫(Focused Web Crawler).增量式网络爬虫(Incremental Web Crawler).深层网络爬虫(Deep We

Python爬虫爬取数据的步骤

爬虫: 网络爬虫是捜索引擎抓取系统(Baidu.Google等)的重要组成部分.主要目的是将互联网上的网页下载到本地,形成一个互联网内容的镜像备份. 步骤: 第一步:获取网页链接 1.观察需要爬取的多网页的变化规律,基本上都是只有小部分有所变化,如:有的网页只有网址最后的数字在变化,则这种就可以通过变化数字将多个网页链接获取: 2.把获取得到的多个网页链接存入字典,充当一个临时数据库,在需要用时直接通过函数调用即可获得: 3.需要注意的是我们的爬取并不是随便什么网址都可以爬的,我们需要遵守我们的

爬虫(十):AJAX、爬取AJAX数据

1. AJAX 1.1 什么是AJAX AJAX即“Asynchronous JavaScript And XML”(异步JavaScript和XML)可以使网页实现异步更新,就是不重新加载整个网页的情况下,对网页的某部分进行更新(局部刷新).传统的网页(不使用AJAX)如果需要更新内容,必须重载整个网页页面. AJAX = 异步JavaScript和XML,是一种新的思想,整合之前的多种技术,用于创建快速交互式网页应用的页面开发技术. 1.2 同步和异步 同步现象:客户端发送请求到服务器端,当