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 相关文章推荐
Python2/3中urllib库的一些常见用法
Dec 19 Python
Django组件之cookie与session的使用方法
Jan 10 Python
Python人工智能之路 之PyAudio 实现录音 自动化交互实现问答
Aug 13 Python
python自动化工具之pywinauto实例详解
Aug 26 Python
python爬虫中多线程的使用详解
Sep 23 Python
如何基于python操作excel并获取内容
Dec 24 Python
Python 中的pygame安装与配置教程详解
Feb 10 Python
Python unittest discover批量执行代码实例
Sep 08 Python
selenium设置浏览器为headless无头模式(Chrome和Firefox)
Jan 08 Python
基于Python的接口自动化unittest测试框架和ddt数据驱动详解
Jan 27 Python
详解win10下pytorch-gpu安装以及CUDA详细安装过程
Jan 28 Python
详细介绍python类及类的用法
May 31 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
收音机指标测试方法及仪器
2021/03/01 无线电
PHP导入Excel到MySQL的方法
2011/04/23 PHP
php中session_unset与session_destroy的区别分析
2011/06/16 PHP
解析PHP中的unset究竟会不会释放内存
2013/07/18 PHP
php使用smtp发送支持附件的邮件示例
2014/04/13 PHP
php去除头尾空格的2种方法
2015/03/16 PHP
WIN8.1下搭建PHP5.6环境
2015/04/29 PHP
Yii2选项卡的简单使用
2017/05/26 PHP
PHP静态方法和静态属性及常量属性的区别与介绍
2019/03/22 PHP
使用js实现雪花飘落效果
2013/08/26 Javascript
Javascript倒计时页面跳转实例小结
2013/09/11 Javascript
JS父页面与子页面相互传值方法
2014/03/05 Javascript
jQuery中parentsUntil()方法用法实例
2015/01/07 Javascript
Javascript中判断对象是否为空
2015/06/10 Javascript
jQuery生成假加载动画效果
2016/12/01 Javascript
Node.js+ES6+dropload.js实现移动端下拉加载实例
2017/06/01 Javascript
Angular.js项目中使用gulp实现自动化构建以及压缩打包详解
2017/07/19 Javascript
jQuery EasyUI的TreeGrid查询功能实现方法
2017/08/08 jQuery
jQuery zTree 异步加载添加子节点重复问题
2017/11/29 jQuery
layui实现根据table数据判断按钮显示情况的方法
2019/09/26 Javascript
解决ant Design中Select设置initialValue时的大坑
2020/10/29 Javascript
解决vue侦听器watch,调用this时出现undefined的问题
2020/10/30 Javascript
vue项目中js-cookie的使用存储token操作
2020/11/13 Javascript
[02:40]DOTA2英雄基础教程 炼金术士
2013/12/23 DOTA
python实现图片批量剪切示例
2014/03/25 Python
Python多线程原理与用法实例剖析
2019/01/22 Python
Python使用Pickle模块进行数据保存和读取的讲解
2019/04/09 Python
python面向对象之类属性和类方法案例分析
2019/12/30 Python
简单html5代码获取地理位置
2014/03/31 HTML / CSS
请解释virtual关键字的含义
2015/06/17 面试题
公司司机岗位职责范本
2014/03/03 职场文书
公证委托书大全
2014/04/04 职场文书
改作风抓落实促发展心得体会
2014/09/10 职场文书
2016年父亲节寄语
2015/12/04 职场文书
如何做好工作总结!
2019/04/10 职场文书
java设计模式--建造者模式详解
2021/07/21 Java/Android