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实现的检测web服务器健康状况的小程序
Sep 17 Python
Python爬虫实现网页信息抓取功能示例【URL与正则模块】
May 18 Python
Python实现桶排序与快速排序算法结合应用示例
Nov 22 Python
Django中反向生成models.py的实例讲解
May 30 Python
vue.js实现输入框输入值内容实时响应变化示例
Jul 07 Python
Python中函数参数匹配模型详解
Jun 09 Python
解决python中的幂函数、指数函数问题
Nov 25 Python
Pytorch实现各种2d卷积示例
Dec 30 Python
python Popen 获取输出,等待运行完成示例
Dec 30 Python
深入理解Python 多线程
Jun 16 Python
pycharm部署django项目到云服务器的详细流程
Jun 29 Python
python中validators库的使用方法详解
Sep 23 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/05/07 PHP
php 函数使用可变数量的参数方法
2017/05/02 PHP
php版本CKEditor 4和CKFinder安装及配置方法图文教程
2019/06/05 PHP
javascript 关闭IE6、IE7
2009/06/01 Javascript
javascript Demo模态窗口
2009/12/06 Javascript
jquery的Theme和Theme Switcher使用小结
2010/09/08 Javascript
使用jquery与图片美化checkbox和radio控件的代码(打包下载)
2010/11/11 Javascript
利用了jquery的ajax实现二级联互动菜单
2013/12/02 Javascript
jquery实现浮动的侧栏实例
2015/06/25 Javascript
一个简易的js图片轮播效果
2017/07/22 Javascript
Webpack 服务器端代码打包的示例代码
2017/09/19 Javascript
python爬取安居客二手房网站数据(实例讲解)
2017/10/19 Javascript
vue 监听键盘回车事件详解 @keyup.enter || @keyup.enter.native
2018/08/25 Javascript
vue cli 3.x 项目部署到 github pages的方法
2019/04/17 Javascript
微信小程序实现上传图片裁剪图片过程解析
2019/08/22 Javascript
React Native 混合开发多入口加载方式详解
2019/09/23 Javascript
JavaScript JSON使用原理及注意事项
2020/07/30 Javascript
Vue Elenent实现表格相同数据列合并
2020/11/30 Vue.js
如何在JavaScript中等分数组的实现
2020/12/13 Javascript
[39:19]完美世界DOTA2联赛PWL S2 SZ vs LBZS 第二场 11.26
2020/11/30 DOTA
python实现从ftp服务器下载文件的方法
2015/04/30 Python
使用python为mysql实现restful接口
2018/01/05 Python
python实现屏保计时器的示例代码
2018/08/08 Python
Python socket实现的简单通信功能示例
2018/08/21 Python
python使用epoll实现服务端的方法
2018/10/16 Python
使用Python的Turtle库绘制森林的实例
2019/12/18 Python
详解vscode实现远程linux服务器上Python开发
2020/11/10 Python
父亲追悼会答谢词
2014/01/17 职场文书
四风问题个人自查剖析材料思想汇报
2014/09/21 职场文书
2014年银行工作总结范文
2014/11/12 职场文书
公司2014年度工作总结
2014/12/10 职场文书
务虚会发言材料
2014/12/25 职场文书
人事行政助理岗位职责
2015/04/11 职场文书
oracle覆盖导入dmp文件的2种方法
2021/05/21 Oracle
Vue3.0写自定义指令的简单步骤记录
2021/06/27 Vue.js
详解Python flask的前后端交互
2022/03/31 Python