你还在为博客访问量少而发愁么?

这里先介绍刷一个网站的访问量的实现方法,我在思考用多线程一次并发去访问自己的网站的所有博客,或者是开几十个线程并发访问自己的一个网站的访问量,快速提升网站博客的阅读数。

1、HTTP请求方式

如下表:

GET

向Web服务器请求一个文件

POST

向Web服务器发送数据让Web服务器进行处理

PUT

向Web服务器发送数据并存储在Web服务器内部

HEAD

检查一个对象是否存在

DELETE

从Web服务器上删除一个文件

CONNECT

对通道提供支持

TRACE

跟踪到服务器的路径

OPTIONS

查询Web服务器的性能

 

说明:

主要使用到“GET”和“POST”。

2、伪装成浏览器

       HTTP是基于请求和应答机制的--客户端提出请求,服务端提供应答。urllib2用一个Request对象来映射你提出的HTTP请求,在它最简单的使用形式中你将用你要请求的

地址创建一个Request对象,通过调用urlopen并传入Request对象,将返回一个相关请求response对象,这个应答对象如同一个文件对象,所以你可以在Response中调用.read()。

      but

      在HTTP请求时,允许你做额外的两件事。首先是你能够发送data表单数据,其次你能够传送额外的关于数据或发送本身的信息("metadata")到服务器,此数据作为HTTP的"headers"来发送。接下来让我们看看这些如何发送的吧。

      浏览器确认自己身份是通过User-Agent头,当你创建了一个请求对象,你可以给他一个包含头数据的字典。下面的例子发送跟上面一样的内容,但把自身模拟成Internet Explorer。

import urllib 
import urllib2 
url = 'http://www.pythontab.com' 
user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)' 
  
values = {'name' : 'Michael Foord', 
          'location' : 'pythontab', 
          'language' : 'Python' } 
headers = { 'User-Agent' : user_agent } 
data = urllib.urlencode(values) 
req = urllib2.Request(url, data, headers) 
response = urllib2.urlopen(req) 
the_page = response.read()
#这里伪装陈成了谷歌浏览器

3、举一个香蕉

要刷浏览量的我的博客的url:https://blog.csdn.net/zhuangmezhuang/article/details/82379904

#!/usr/bin/env python
# -*- coding:utf-8 -*-

import urllib2  # Python中的cURL库
import time  # 时间函数库,包含休眠函数sleep()

url = 'https://blog.csdn.net/zhuangmezhuang/article/details/82379904'  # 希望刷阅读量的文章的URL
user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'  # 伪装成Chrome浏览器
# refererData = 'https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&tn=monline_3_dg&wd=python%20%E6%AD%A3%E5%88%99%E8%A1%A8%
# E8%BE%BE%E5%BC%8F%E7%BB%83%E4%B9%A0&oq=urllib2.request%20%E5%8F%82%E6%95%B0&rsv_pq=fd0f38e40000db8b&rsv_t=6ec2HIbgWth
# uw3DWeXZSp8H8sFOXlNADvNuj1cCIHdsA6JxxgKiMJ3EWA1cwZTGowTpL&rqlang=cn&rsv_enter=0&inputT=18403&rsv_sug3=131&rsv_sug1=70
# &rsv_sug7=101&rsv_sug4=19841'    # 伪装成是从baidu.com搜索到的文章
refererData = 'https://www.baidu.com/s?ie=utf-8&f=3&rsv_bp=1&tn=84053098_3_dg&wd=python%20requests&oq=python' \
              '%2520%25E6%25AD%25A3%25E5%2588%2599%25E8%25A1%25A8%25E8%25BE%25BE%25E5%25BC%258F%25E7%25BB%2583%2' \
              '5E4%25B9%25A0&rsv_pq=dbe2844f0001ed18&rsv_t=b76cY%2BoWof42xOpPNnC%2BvDfeZveYjxd2wlcs98fUAK0rIULU32JMo' \
              'U1bw1bGzAniOdtkYQ&rqlang=cn&rsv_enter=1&rsv_sug3=11&rsv_sug1=10&rsv_sug7=100&rsv_sug2=0&prefixsug=' \
              'python%2520req&rsp=0&inputT=3060&rsv_sug4=3411'
data = ''  # 将GET方法中待发送的数据设置为空
headers = {'User-Agent': user_agent, 'Referer': refererData}  # 构造GET方法中的Header
count = 0  # 初始化计数器
request = urllib2.Request(url, data, headers)  # 组装GET方法的请求
while True:  # 想停不存在的
    rec = urllib2.urlopen(request)  # 发送GET请求,获取博客文章页面资源
    # page = rec.read()  # 读取页面内容到内存中的变量,这句代码可以不要

    count += 1  # 计数器加1
    print count  # 打印当前循环次数
    if count % 6:  # 每6次访问为1个循环,其中5次访问等待时间为31秒,另1次为61秒
        time.sleep(31)  # 为每次页面访问设置等待时间是必须的,过于频繁的访问会让服务器发现刷阅读量的猥琐行为并停止累计阅读次数
    else:
        time.sleep(61)
# print page    # 打印页面信息,这句代码永远不会执行

之后就可以刷一波浏览器的访问量了,如果后续我把多线程并发访问写好了,还会在提一波。

不说了,自己先刷一波。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值