zoukankan      html  css  js  c++  java
  • Scrapy中如何获取下一页链接

    Scrapy从开始链接抓取数据,然后通过下一页链接不停的抓取更多的数据。

    那么如何获取下一页链接呢,常见有两种方式:

    1、通过当前页面的“下一页”链接获取,例如:

    <div class=zw_page1>
    下一篇:<a href="../../JokeHtml/bxnn/2017122722221351.htm">爆逗二货,醉人的笑容你会有</a>
    </div> 

    此时获取的链接一般是相对url,需要将相对url转为绝对url,方法如下:

    # 获取下一篇链接
    nexthref = response.xpath('//div[@class="zw_page1"]/a/@href').extract_first()
    if nexthref is not None:
        # 将相对url转为绝对url
        nexthref = response.urljoin(nexthref)

    2、抓取数据的url有一定的规律,例如:

    http://www.haha365.com/joke/index_1.htm

    http://www.haha365.com/joke/index_2.htm

    ......

    http://www.haha365.com/joke/index_1022.htm

    此时可以通过自定义生成url的方式获取下一页url,方法如下:

    # 获取下一篇链接
    s1 = re.search(r'index_[0-9]+', response.url, re.S)
    s2 = re.search(r'[0-9]+', s1.group(), re.S)
    i = int(s2.group()) + 1
    nexthref = "http://www.haha365.com/joke/index_"+str(i)+".htm"
  • 相关阅读:
    继承
    成员变量,局部变量,静态变量
    几种常用排序
    jdk环境配置以及java执行过程
    基础语法
    数据类型
    关键字和标识符
    网络编程(二)-socket套接字
    反射
    多态
  • 原文地址:https://www.cnblogs.com/sam11/p/8329976.html
Copyright © 2011-2022 走看看