python收集网页中的翻页

使用Python进行网络爬虫时,通过检查最后一页是否存在‘下一页’链接,动态构造下一页URL,从而实现对整个网页数据的全面抓取。
摘要由CSDN通过智能技术生成
要用采集器采集网页中的图片,由于网址里面的下一页是javascript形式的,此采集器无法判断,所以先用python把网址搜集起来。
观察到每翻一页,网址后面的页码数+1。为提高效率,减少访问数,先找到可见的最后一个链接,根据此链接页码数,拼凑出前面网址。

然后访问最后链接,查找是否有“下一页”字段,如果有,就拼凑出下一页网址。


#!/usr/bin/python
# -*- coding: UTF-8 -*-
import requests
from lxml import etree
def find_url(url):
    global count,newUrl

    #找到最后一个课程链接,取出页码,拼凑1至此页码的网址并添加到列表newUrl。
    #XPath规则可在chrome中查看。
    r = requests.get(url+'001.htm')
    count += 1
    html = etree.HTML(r.text)
    #找到最后一个可见链接
    result = html.xpath('//div[@class="xxxxxx"]/a[last()]/@href')
    #取出链接中的页码数
    maxNumber = int(result[0].split('/')[-1].split('.')[0])
    print maxNumber
    #拼凑前面网址添加到列表newUrl
    for i in xrange(1,maxNumber+1):
        nextUrl = "{0}{1:0>3}.htm".format(url , i)
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值