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

很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
QQ群:101677771

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

你很容易会发现你写的那些水文章的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
  • 1
  • 2
  • 3

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

最后附上代码,代码也上传到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|1\d{2}|2[0-4]\d|25[0-5]).){3}([1-9]?\d|1\d{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()

利用Python爬虫刷新某网站访问量的更多相关文章

  1. 史诗级干货-python爬虫之增加CSDN访问量

    史诗级干货-python爬虫之增加CSDN访问量 搜索微信公众号:'AI-ming3526'或者'计算机视觉这件小事' 获取更多算法.机器学习干货 csdn:https://blog.csdn.net ...

  2. python爬虫之小说网站--下载小说(正则表达式)

    python爬虫之小说网站--下载小说(正则表达式) 思路: 1.找到要下载的小说首页,打开网页源代码进行分析(例:https://www.kanunu8.com/files/old/2011/244 ...

  3. python爬虫之天气预报网站--查看最近(15天)的天气信息(正则表达式)

    python爬虫之天气预报网站--查看最近(15天)的天气信息(正则表达式) 思路: 1.首先找到一个自己想要查看天气预报的网站,选择自己想查看的地方,查看天气(例:http://www.tianqi ...

  4. python爬虫之12306网站--火车票信息查询

    python爬虫之12306网站--火车票信息查询 思路: 1.火车票信息查询是基于车站信息查询,先完成车站信息查询,然后根据车站信息查询生成的url地址去查询当前已知出发站和目的站的所有车次车票信息 ...

  5. Python爬虫某招聘网站的岗位信息

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:阿尔法游戏 PS:如有需要Python学习资料的小伙伴可以加点击下方链 ...

  6. 如何利用 Python 爬虫实现给微信群发新闻早报?(详细)

    1. 场景 经常有小伙伴在交流群问我,每天的早报新闻是怎么获取的? 其实,早期使用的方案,是利用爬虫获取到一些新闻网站的标题,然后做了一些简单的数据清洗,最后利用 itchat 发送到指定的社群中. ...

  7. python爬虫之12306网站--车站信息查询

    python爬虫查询车站信息 目录: 1.找到要查询的url 2.对信息进行分析 3.对信息进行处理 python爬虫查询全拼相同的车站 目录: 1.找到要查询的url 2.对信息进行分析 3.对信息 ...

  8. 利用python爬虫关键词批量下载高清大图

    前言 在上一篇写文章没高质量配图?python爬虫绕过限制一键搜索下载图虫创意图片!中,我们在未登录的情况下实现了图虫创意无水印高清小图的批量下载.虽然小图能够在一些移动端可能展示的还行,但是放到pc ...

  9. 利用python爬虫爬取图片并且制作马赛克拼图

    想在妹子生日送妹子一张用零食(或者食物类好看的图片)拼成的马赛克拼图,因此探索了一番= =. 首先需要一个软件来制作马赛克拼图,这里使用Foto-Mosaik-Edda(网上也有在线制作的网站,但是我 ...

随机推荐

  1. Latex—参考文献

    在写文章的最后最让我头疼的就是参考文献的问题了.网上的资料也有很多,这里整合了很多资料得出了一个用bib文件的方法. 1.  显示确定参考文献(一句没什么用的废话). 2.  利用谷歌学术(镜像),如 ...

  2. markdown利器-小书匠

    markdown利器-小书匠 为什么要用markdown语法编写文档? 编写文档的好处这里就不多说了.相信很多人都会在一些博客网站上发布自己的博客,那么怎么能使得自己的博客内容更加具有通用性呢?正如j ...

  3. 使用opencv在Qt控件上播放mp4文件

    文章目录 简介 核心代码 运行结果 简介 opencv是一个开源计算机视觉库,功能非常多,这里简单介绍一下OpenCV解码播放Mp4文件,并将图像显示到Qt的QLabel上面. 核心代码 头文件 #i ...

  4. javascript逻辑运算与循环笔记

        短路运算(逻辑中断)     1.短路运算的原理:当有多个表达式(值)时,左边的表达式值可以确定结果的时候就不再继续运算右边的表达式的值     2.逻辑与 &&     如果 ...

  5. java_环境搭建、变量的使用

    java_环境搭建.变量的使用 Java语言开发环境搭建 1. Java虚拟机——JVM JVM(Java Virtual Machine ):Java虚拟机,简称JVM,是运行所有Java程序的假想 ...

  6. mongodb 4.0副本集搭建

    近期有同学问mongodb副本集难不难部署,我的回答是不难,很快,几分钟搞定,比mysql MHA简单的不止一点半点. 那么到底如何部署呢?请看下文. 1.  准备工作 1.1 下载软件 选择版本并下 ...

  7. java Hibernate 用法

    Hibernate 用法总结: import java.io.Serializable; import java.sql.SQLException; import java.util.Collecti ...

  8. 2020-06-19:多线程消费kafka的时候,开发、测试环境都能每秒10w+,但是正式环境只能1w/s,正式环境不能重启,看怎么调试?

    福哥答案2020-06-19: 答案来自群成员:基准测试. 观察 网络和磁盘的读写,实时与历史曲线,观察文件句柄/内存的使用情况.观察系统patch 基础库/运行时状态.

  9. Flutter 容器Container类和布局Layout类

    1.布局和容器 [布局]是把[容器]按照不同的方式排列起来. Scaffold包含的主要部门:appBar,body,bottomNavigator 其中body可以是一个布局组件,也可以是一个容器组 ...

  10. JavaScript 把数组扁平化的方法

    使用 ES2019中的新特性 Array.prototype.flat() const arr = [1,2,3,4,[10,20,30]] const res = arr.flat() consol ...