利用Python爬虫刷新某网站访问量
前言:前一段时间看到有博友写了爬虫去刷新博客访问量一篇文章,当时还觉得蛮有意思的,就保存了一下,但是当我昨天准备复现的时候居然发现文章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爬虫刷新某网站访问量的更多相关文章
- 史诗级干货-python爬虫之增加CSDN访问量
史诗级干货-python爬虫之增加CSDN访问量 搜索微信公众号:'AI-ming3526'或者'计算机视觉这件小事' 获取更多算法.机器学习干货 csdn:https://blog.csdn.net ...
- python爬虫之小说网站--下载小说(正则表达式)
python爬虫之小说网站--下载小说(正则表达式) 思路: 1.找到要下载的小说首页,打开网页源代码进行分析(例:https://www.kanunu8.com/files/old/2011/244 ...
- python爬虫之天气预报网站--查看最近(15天)的天气信息(正则表达式)
python爬虫之天气预报网站--查看最近(15天)的天气信息(正则表达式) 思路: 1.首先找到一个自己想要查看天气预报的网站,选择自己想查看的地方,查看天气(例:http://www.tianqi ...
- python爬虫之12306网站--火车票信息查询
python爬虫之12306网站--火车票信息查询 思路: 1.火车票信息查询是基于车站信息查询,先完成车站信息查询,然后根据车站信息查询生成的url地址去查询当前已知出发站和目的站的所有车次车票信息 ...
- Python爬虫某招聘网站的岗位信息
前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:阿尔法游戏 PS:如有需要Python学习资料的小伙伴可以加点击下方链 ...
- 如何利用 Python 爬虫实现给微信群发新闻早报?(详细)
1. 场景 经常有小伙伴在交流群问我,每天的早报新闻是怎么获取的? 其实,早期使用的方案,是利用爬虫获取到一些新闻网站的标题,然后做了一些简单的数据清洗,最后利用 itchat 发送到指定的社群中. ...
- python爬虫之12306网站--车站信息查询
python爬虫查询车站信息 目录: 1.找到要查询的url 2.对信息进行分析 3.对信息进行处理 python爬虫查询全拼相同的车站 目录: 1.找到要查询的url 2.对信息进行分析 3.对信息 ...
- 利用python爬虫关键词批量下载高清大图
前言 在上一篇写文章没高质量配图?python爬虫绕过限制一键搜索下载图虫创意图片!中,我们在未登录的情况下实现了图虫创意无水印高清小图的批量下载.虽然小图能够在一些移动端可能展示的还行,但是放到pc ...
- 利用python爬虫爬取图片并且制作马赛克拼图
想在妹子生日送妹子一张用零食(或者食物类好看的图片)拼成的马赛克拼图,因此探索了一番= =. 首先需要一个软件来制作马赛克拼图,这里使用Foto-Mosaik-Edda(网上也有在线制作的网站,但是我 ...
随机推荐
- react-ts模板2.0
最新整理的react模板2.0 - react 16.12.0 - react-router - redux,redux-thunk - hooks,typescript - antd v4,sass ...
- 转)JVM Internals
http://blog.jamesdbloom.com/JVMInternals.html (基于 Java 7)
- day9.关于文件的操作
一.文件操作 """ fp = open("文件名",mode="模式",encoding="utf-8") ...
- 文件上传 tp3.2 webuploader插件
1.新建上传页面 <!doctype html> <html lang="en"> <head> <meta charset=" ...
- python5.1文件的读取
fh1=open(r"C:\222.txt","r")#用open函数读取文件,“r”进行转义,fh1文件句柄data=fh1.read()#把读取的句柄赋值给 ...
- 001_HyperLedger Fabric环境安装
HyperLedger Fabric的环境,有解决三大问题 第一,是系统环境,这里我们选择的是centos7 第二,是开发环境,这里我们选择的是Go语言 第三,是运行环境,这里我们选择的是Docker ...
- Java日志框架(一)
在项目开发过程中,我们可以通过 debug 查找问题.而在线上环境我们查找问题只能通过打印日志的方式查找问题.因此对于一个项目而言,日志记录是一个非常重要的问题.因此,如何选择一个合适的日志记录框架也 ...
- 11、Java 日期时间 日期工具类
一.简介 在Java8之前,日期时间API一直被开发者诟病,包括:java.util.Date是可变类型,SimpleDateFormat非线程安全等问题.故此,Java8引入了一套全新的日期时间处理 ...
- C#LeetCode刷题之#202-快乐数(Happy Number)
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3856 访问. 编写一个算法来判断一个数是不是"快乐数& ...
- Vue 引入指定目录文件夹所有的组件 require.context
require.context require.context是webpack中用来管理依赖的一个函数,此方法会生成一个上下文模块,包含目录下所有的模块的引用,同构正则表达式匹配,然后require进 ...