反复刷新增加访问量_基于爬虫刷新某网站访问量!我说怎么上千万呢!

前言:前一段时间看到有博友写了爬虫去刷新博客访问量一篇文章,当时还觉得蛮有意思的,就保存了一下,但是当我昨天准备复现的时候居然发现文章404了。
所以本篇文章仅供学习交流,严禁用于商业用途

当我在写文章的同时,代码依然在运行,亲测是有效滴。

2084116fb3ce20b3b827e1ed1506939a.png

你很容易会发现你写的那些水文章的url都有一个共同特点,前面都是固定的,就是后面一串数字不一样,这串数字是利用某种算法生成,因为我不会,这里我不展开讲了。我只需要把后面的数字拿过来就好了。

https://blog.csdn.net/SuperBetterMan/article/details/107508976
https://blog.csdn.net/SuperBetterMan/article/details/107368925
https://blog.csdn.net/SuperBetterMan/article/details/107144322

CSDN是基于ip地址去判别有效的访问量,同一个ip访问过多后,会被后台判定是机器,将不再增加访问量,IP甚至会被禁止访问一段时间。那我们找了一个免费的性价比还不错的ip代理,很好解决了这个小小的问题。
昨晚出去散步把代码放在跑,本来以为能刷个几k吧,但是当我回来却发现刷到2百多的时候,后台就给我停掉了,而且网站应该是设置了一个时间戳,在一定时间内,即使不同的ip访问了,也不会增加访问量。
最后当我写完这行的时候,代码也还在跑,真要是闲的没事可以放在云服务器上多搞几个线程跑个几天几夜,然后号就没了

f01471fac3d8df83764388972171f49e.png


最后附上代码,代码也上传到github,里面有一些其他较为有意思的代码,希望大家可以喜欢,然后给我一个小star

from lxml import html
import time
import random
import requests

import re
import urllib.request
import urllib.parse

firefoxHead = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:61.0) Gecko/20100101 Firefox/61.0"}
IPRegular = r"(([1-9]?d|1d{2}|2[0-4]d|25[0-5]).){3}([1-9]?d|1d{2}|2[0-4]d|25[0-5])"
host = "https://blog.csdn.net"
url = "https://blog.csdn.net/SuperBetterMan/article/details/{}"
codes = ["106651719", "106533059", "107508976", "106658304", "106594490", "106242605"]


def parseIPList(url="https://www.89ip.cn/tqdl.html?num=60&address=&kill_address=&port=9999&kill_port=&isp="):
    req = urllib.request.Request(url)  # 创建请求对象
    res = urllib.request.urlopen(req)  # 对网页发起请求并获取响应
    html = res.read().decode("utf-8")
    p = re.compile(r'(?<![.d])(?:d{1,3}.){3}d{1,3}(?![.d])')
    IPS = re.findall(p, html)
    return IPS



def PV(code):
    s = requests.Session()
    s.headers = firefoxHead
    count = 0
    while True:
        count += 1
        print("正在进行第{}次访问t".format(count), end="t")
        IPs = parseIPList()
        # print(random.choice(IPs))

        # IPs = ["36.248.129.106","36.248.132.123"]
        newip = random.choice(IPs)
        print('ip地址是{}'.format(newip))
        s.proxies = {"http: {}:9999".format(newip)}
        s.get(host)
        # r = s.get(url.format(random.choice(codes)))
        r = s.get(url.format(codes[random.randint(0, 5)]))
        en = html.etree.HTML(r.text)  # 将网页源代码解析成xpath对象
        result = en.xpath('//*[@id="articleContentId"]/text()')
        print(result)
        Views = en.xpath('//*[@id="mainBox"]/main/div[1]/div/div/div[2]/div[1]/div/span[2]/text()')
        print('访问量是{}'.format(Views))
        time.sleep(random.randint(5,10))


def main():
    PV(codes[0])
    # parseIPList()

if __name__ == "__main__":
    main()

很简单,有木有 源码获取加群:1136192749

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值