python爬虫:批量刷新网页
来源:互联网 发布:北航软件学院分数线 编辑:程序博客网 时间:2024/05/19 05:39
版权声明:本文为博主原创文章,未经博主允许不得转载。
说明:
本片文章介绍如何使用python批量刷新网页,以csdn我的博客为例。
分析
首先通过http://blog.csdn.net/cclarence?viewmode=list这个摘要目录得到我所有的博客链接,因为现在的博客较少,所以不用考虑页数的问题,只有一页。http://blog.csdn.net/whiterbear/article/details/44981231这篇文章中声明了为什么用摘要视图而不是目录视图,在实际尝试中也发现目录视图下难以得到结果。得到源代码之后用正则和匹配策略的方式得到所有的博客链接。随后循环访问每一篇博客,可以调整访问次数。大概每次访问页面时间为4.5秒。
# -*- coding:utf-8 -*-import sysimport urllibimport urllib2import rereload(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并循环访问urlprint "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 0
- python爬虫:批量刷新网页
- 【Python爬虫】批量抓取网页上的视频
- Python网页爬虫
- 网页爬虫(Python)
- [python]网页小爬虫
- Python中的网页爬虫
- python 网页爬虫
- python网页爬虫
- Python 网页爬虫
- Python网页图片爬虫
- python网页爬虫练习
- Python 网页爬虫
- python网页爬虫代理
- python实现网页爬虫
- Python网页静态爬虫
- Python爬虫网页图片
- python 爬虫批量下载图片
- 用python编写网页爬虫
- ALSA声卡驱动中的DAPM详解之六:精髓所在,牵一发而动全身
- Android异步消息处理机制详解及源码分析
- 异常处理和画板的保存
- java 文件预览之 DocConverter工具类 将office 文件转换为 swf
- JNDI常见配置方式
- python爬虫:批量刷新网页
- ALSA声卡驱动中的DAPM详解之七:dapm事件机制(dapm event)
- 字符串分割(C++)
- android初学之如何去除gridview点击时出现的黄色边框
- Centos下安装samba
- asp.net WebPages 速记4
- linux下vim命令模式下的常用操作
- Oracle OLTP OLAP粗概
- iptables过滤命令小记