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使用reportlab将目录下所有的文本文件打印成pdf的方法
May 20 Python
python验证码识别的实例详解
Sep 09 Python
python实现FTP服务器服务的方法
Apr 11 Python
PyQt5每天必学之布局管理
Apr 19 Python
Django 中使用流响应处理视频的方法
Jul 20 Python
Python实现查找最小的k个数示例【两种解法】
Jan 08 Python
python 读取dicom文件,生成info.txt和raw文件的方法
Jan 24 Python
超实用的 30 段 Python 案例
Oct 10 Python
python用WxPython库实现无边框窗体和透明窗体实现方法详解
Feb 21 Python
python 判断一组数据是否符合正态分布
Sep 23 Python
浅析pandas随机排列与随机抽样
Jan 22 Python
详解python第三方库的安装、PyInstaller库、random库
Mar 03 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
PHP笔记之:日期函数的使用介绍
2013/04/24 PHP
ThinkPHP惯例配置文件详解
2014/07/14 PHP
php简单操作mysql数据库的类
2015/04/16 PHP
php实现的mysqldb读写分离操作类示例
2017/02/07 PHP
PHP实现一个限制实例化次数的类示例
2019/09/16 PHP
javascript入门·对象属性方法大总结
2007/10/01 Javascript
javascript innerHTML、outerHTML、innerText、outerText的区别
2008/11/24 Javascript
DWR Ext 加载数据
2009/03/22 Javascript
JS 控制CSS样式表
2009/08/20 Javascript
精通Javascript系列之Javascript基础篇
2011/06/07 Javascript
jQuery学习笔记(2)--用jquery实现各种模态提示框代码及项目构架
2013/04/08 Javascript
JS过滤url参数特殊字符的实现方法
2013/12/24 Javascript
js中Math之random,round,ceil,floor的用法总结
2013/12/26 Javascript
javascript 终止函数执行操作
2014/02/14 Javascript
jQuery实现字符串按指定长度加入特定内容的方法
2015/03/11 Javascript
jQuery获得子元素个数的方法
2015/04/14 Javascript
JS+DIV+CSS实现的经典标签切换效果代码
2015/09/14 Javascript
实例解析jQuery中proxy()函数的用法
2016/05/24 Javascript
js实现时间轴自动排列效果
2017/03/09 Javascript
vue实现简单计算商品价格
2020/09/14 Javascript
vue项目查看vue版本及cli版本的实现方式
2020/10/24 Javascript
[34:47]完美世界DOTA2联赛PWL S2 Magma vs LBZS 第一场 11.18
2020/11/18 DOTA
python使用cookielib库示例分享
2014/03/03 Python
python爬取各类文档方法归类汇总
2018/03/22 Python
python3个性签名设计实现代码
2018/06/19 Python
python输出100以内的质数与合数实例代码
2018/07/08 Python
python实现抽奖小程序
2020/04/15 Python
对tensorflow中cifar-10文档的Read操作详解
2020/02/10 Python
Python3监控疫情的完整代码
2020/02/20 Python
如何在Django中使用聚合的实现示例
2020/03/23 Python
详解Python IO编程
2020/07/24 Python
毕业生医学检验求职信
2013/10/16 职场文书
园林设计专业毕业生求职信
2014/03/23 职场文书
聘用意向书范本
2014/04/01 职场文书
董事长新年致辞
2015/07/29 职场文书
解决go在函数退出后子协程的退出问题
2021/04/30 Golang