python爬虫:批量刷新网页

版权声明:本文为博主原创文章,未经博主允许不得转载。

说明:
本片文章介绍如何使用python批量刷新网页,以csdn我的博客为例。
分析
首先通过http://blog.csdn.net/cclarence?viewmode=list这个摘要目录得到我所有的博客链接,因为现在的博客较少,所以不用考虑页数的问题,只有一页。http://blog.csdn.net/whiterbear/article/details/44981231这篇文章中声明了为什么用摘要视图而不是目录视图,在实际尝试中也发现目录视图下难以得到结果。得到源代码之后用正则和匹配策略的方式得到所有的博客链接。随后循环访问每一篇博客,可以调整访问次数。大概每次访问页面时间为4.5秒。

# -*- coding:utf-8 -*-
import sys
import urllib
import urllib2
import re

reload(sys)
sys.setdefaultencoding('utf-8')
# 伪装成浏览器,注意headers必须是一个字典
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.57 Safari/537.36'}
# 我们指定url并发送请求
req = urllib2.Request(
    'http://blog.csdn.net/cclarence?viewmode=list', headers=headers)
# 接着服务端响应来自客户端的请求
response = urllib2.urlopen(req)
lines = ''.join(response.read())
#正则表达式得到链接,有些链接不是我们想要的并可能有重复,在下面if语句中判断
regex = r'href="(.*?)"'
L = []
#count用来记数,因为根据此正则规则从源码找出的有重复
count = 1 
for m in re.findall(regex, lines):
    if len(m) == 35 and count % 2 == 1 and "category" not in m and m not in L:
        L.append(m)
    count = count + 1
#开始拼接每一个url并循环访问url
print "get url:"+'\n'
print len(L)
for mm in L:
    url = 'http://blog.csdn.net/' + mm
    print url
    headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.57 Safari/537.36'}
    #每个url循环5次
    for num in range(1,6):
        req_url = urllib2.Request(url, headers=headers)
        response_url = urllib2.urlopen(req_url)
    print "crawling success this url"
print "success"

运行结果为:
这里写图片描述

访问量差异(每篇文章多了五次):
这里写图片描述               这里写图片描述

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值