python爬虫刷访问量 2019 7月


Posted in Python onAugust 01, 2019

看着自己少得可怜的访问量,突然有一个想用爬虫刷访问量的想法,主要也是抱着尝试的心态,学习学习。

其实市面上有一些软件可以代刷流量 比如 流量精灵,使用感确实比我们自己写的代码要好一些

第一版:网上借鉴了一下           以下代码运行在 python3

import urllib.request
import time
# 使用build_opener()是为了让python程序模仿浏览器进行访问
opener = urllib.request.build_opener()
opener.addheaders = [('User-agent', 'Mozilla/5.0')]

# 专刷某个页面
print('开始刷了哦:')
tempUrl = 'https://blog.csdn.net/Lin_QC/article/details/88966839'
for j in range(2000):
 try:
  opener.open(tempUrl)
  time.sleep(7)
  print('%d %s' % (j, tempUrl))
 except urllib.error.HTTPError:
  print('urllib.error.HTTPError')
  time.sleep(1)
 except urllib.error.URLError:
  print('urllib.error.URLError')
  time.sleep(1)

该代码主要就是利用爬虫打开网页来进行访问量的刷新,但是,该方法遇到了瓶颈,当刷新到一定访问量时,csdn的服务器会阻止该ip的访问,也就刷新不了访问量了。

所以,也就衍生了第二版。

我们可以在  https://www.xicidaili.com 网站上看到很多代理ip,使用这些代理ip,可以防止csdn服务器阻止访问。

首先,编写了一个获取代理ip的文件,经我本人实验,国内http代理ip较为稳定,所以我们爬取
'https://www.xicidaili.com/wt/1

页面的代理ip信息,并将它们存储在proxy文件里,以下代码是基于 python2的,注意不要弄错版本

proxy_IP.py文件
import urllib2
import BeautifulSoup

User_Agent = 'Mozilla/5.0 (Windows NT 6.3; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0'
header = {}
header['User-Agent'] = User_Agent

url = 'https://www.xicidaili.com/wt/1'
req = urllib2.Request(url, headers=header)
res = urllib2.urlopen(req).read()
soup = BeautifulSoup.BeautifulSoup(res)
ips = soup.findAll('tr')
f = open("proxy", "w")
for x in range(1,len(ips)):
 ip = ips[x]
 tds = ip.findAll("td")
 ip_temp = tds[1].contents[0]+","+tds[2].contents[0]+"\n"

 print tds[1].contents[0]+"\t"+tds[2].contents[0]
 f.write(ip_temp)

通过执行以上代码,我们就可以获得大量代理ip,接下来就是使用这些ip进行对博客的访问。

csdnfake.py
import urllib2
import socket
import time
import random

socket.setdefaulttimeout(3)

user_agent_list = [
 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) '
      'Chrome/45.0.2454.85 Safari/537.36 115Browser/6.0.3',
 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50',
 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50',
 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0)',
 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)',
 'Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1',
 'Opera/9.80 (Windows NT 6.1; U; en) Presto/2.8.131 Version/11.11',
 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11',
 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; SE 2.X MetaSr 1.0; SE 2.X MetaSr 1.0; .NET CLR 2.0.50727; SE 2.X MetaSr 1.0)',
 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0',
 'Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1',
]
f = open("proxy")
lines = f.readlines()
proxys = []

for i in range(0,len(lines)):
 ip = lines[i].strip().split(",")
 proxy_host = "http://"+ip[0]+":"+ip[1]
 print "http://"+ip[0]+":"+ip[1]
 proxy_temp = {"http": proxy_host}
 proxys.append(proxy_temp)
urls = {"https://blog.csdn.net/Lin_QC/article/details/88966839",
  "https://blog.csdn.net/Lin_QC/article/details/88930018",
  "https://blog.csdn.net/Lin_QC/article/details/88642949",
  "https://blog.csdn.net/Lin_QC/article/details/84568170",
  "https://blog.csdn.net/Lin_QC/article/details/84451279",
  "https://blog.csdn.net/Lin_QC/article/details/84927503",
  }

j=1
for i in range(100):
 for proxy in proxys:
  for url in urls:
   try:
    user_agent = random.choice(user_agent_list)
    proxy_support = urllib2.ProxyHandler(proxy)
    opener = urllib2.build_opener(proxy_support, urllib2.HTTPHandler)
    urllib2.install_opener(opener)
    req = urllib2.Request(url)
    c = urllib2.urlopen(req)
    print ("sucessful",j)
    j+=1
    time.sleep(5) 
   except Exception, e:
    print proxy
    print e
    continue

user_agent_list是一堆浏览器的代理头,可以模仿浏览器访问博客。

每次访问休息五秒,主要是因为过快的访问对csdn无效。

效果,刷过访问量的博客和没刷的差距明显

总结

以上所述是小编给大家介绍的python爬虫刷访问量 2019 7月,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
跟老齐学Python之Python文档
Oct 10 Python
python获取当前日期和时间的方法
Apr 30 Python
python检查字符串是否是正确ISBN的方法
Jul 11 Python
Python建立Map写Excel表实例解析
Jan 17 Python
对python中Matplotlib的坐标轴的坐标区间的设定实例讲解
May 25 Python
python实现银行管理系统
Oct 25 Python
python3.6、opencv安装环境搭建过程(图文教程)
Nov 05 Python
Python+Redis实现布隆过滤器
Dec 08 Python
Python json模块与jsonpath模块区别详解
Mar 05 Python
基于FME使用Python过程图解
May 13 Python
使用darknet框架的imagenet数据分类预训练操作
Jul 07 Python
python将下载到本地m3u8视频合成MP4的代码详解
Nov 24 Python
用Cython加速Python到“起飞”(推荐)
Aug 01 #Python
Python爬取视频(其实是一篇福利)过程解析
Aug 01 #Python
flask框架jinja2模板与模板继承实例分析
Aug 01 #Python
Win10环境python3.7安装dlib模块趟过的坑
Aug 01 #Python
python爬虫解决验证码的思路及示例
Aug 01 #Python
Django多数据库的实现过程详解
Aug 01 #Python
Python解决pip install时出现的Could not fetch URL问题
Aug 01 #Python
You might like
新浪新闻小偷
2006/10/09 PHP
一贴学会PHP 新手入门教程
2009/08/03 PHP
header跳转和include包含问题详解
2012/09/08 PHP
php插入mysql数据返回id的方法
2018/05/31 PHP
window.location和document.location的区别分析
2008/12/23 Javascript
js 页面执行时间计算代码
2009/03/04 Javascript
使用typeof判断function是否存在于上下文
2014/08/14 Javascript
javascript实现禁止右键和F12查看源代码
2014/12/26 Javascript
AngularJS 过滤器的简单实例
2016/07/27 Javascript
使用Angular.js实现简单的购物车功能
2016/11/21 Javascript
微信小程序获取手机号授权用户登录功能
2017/11/09 Javascript
解决vue中无法动态修改jqgrid组件 url地址的问题
2018/03/01 Javascript
基于D3.js实现时钟效果
2018/07/17 Javascript
react配置antd按需加载的使用
2019/02/11 Javascript
原生javascript中this几种常见用法总结
2020/02/24 Javascript
Javascript异步流程控制之串行执行详解
2020/09/27 Javascript
[02:52]2017DOTA2国际邀请赛中国区预选赛晋级之路
2017/07/03 DOTA
python3.3教程之模拟百度登陆代码分享
2014/01/16 Python
基于python进行桶排序与基数排序的总结
2018/05/29 Python
执行Django数据迁移时报 1091错误及解决方法
2019/10/14 Python
使用python和pygame制作挡板弹球游戏
2019/12/03 Python
pycharm的python_stubs问题
2020/04/08 Python
Python request post上传文件常见要点
2020/11/20 Python
综合素质的自我鉴定
2013/10/07 职场文书
工作过失检讨书
2014/02/23 职场文书
集中采购方案
2014/06/10 职场文书
单位委托书怎么写
2014/08/02 职场文书
2014年党的群众路线教育实践活动整改措施(个人版)
2014/09/25 职场文书
教师学习三严三实心得体会
2014/10/13 职场文书
小学音乐教师个人工作总结
2015/02/05 职场文书
红旗渠导游词
2015/02/09 职场文书
写给女朋友的检讨书
2015/05/06 职场文书
企业党建工作总结2015
2015/05/26 职场文书
MySQL表类型 存储引擎 的选择
2021/11/11 MySQL
python模板入门教程之flask Jinja
2022/04/11 Python
SQL Server中锁的用法
2022/05/20 SQL Server