要用采集器采集网页中的图片,由于网址里面的下一页是javascript形式的,此采集器无法判断,所以先用python把网址搜集起来。
观察到每翻一页,网址后面的页码数+1。为提高效率,减少访问数,先找到可见的最后一个链接,根据此链接页码数,拼凑出前面网址。
观察到每翻一页,网址后面的页码数+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)