python爬虫增加访问量的方法


Posted in Python onAugust 22, 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爬虫增加访问量的方法,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

Python 相关文章推荐
python self,cls,decorator的理解
Jul 13 Python
python连接mysql调用存储过程示例
Mar 05 Python
python处理json数据中的中文
Mar 06 Python
简单介绍Python的Tornado框架中的协程异步实现原理
Apr 23 Python
详解Python实现按任意键继续/退出的功能
Aug 19 Python
浅谈numpy库的常用基本操作方法
Jan 09 Python
Python基于Tensor FLow的图像处理操作详解
Jan 15 Python
Python对Tornado请求与响应的数据处理
Feb 12 Python
python GUI库图形界面开发之PyQt5信号与槽机制、自定义信号基础介绍
Feb 25 Python
python topk()函数求最大和最小值实例
Apr 02 Python
Python爬虫爬取微博热搜保存为 Markdown 文件的源码
Feb 22 Python
python用海龟绘图写贪吃蛇游戏
Jun 18 Python
Python中字典与恒等运算符的用法分析
Aug 22 #Python
python实现通过flask和前端进行数据收发
Aug 22 #Python
python2.7的flask框架之引用js&css等静态文件的实现方法
Aug 22 #Python
PyQt+socket实现远程操作服务器的方法示例
Aug 22 #Python
使用python os模块复制文件到指定文件夹的方法
Aug 22 #Python
详解Django-channels 实现WebSocket实例
Aug 22 #Python
解决python3 requests headers参数不能有中文的问题
Aug 21 #Python
You might like
关于使用key/value数据库redis和TTSERVER的心得体会
2013/06/28 PHP
Linux下PHP加速器APC的安装与配置笔记
2014/10/24 PHP
46 个非常有用的 PHP 代码片段
2016/02/16 PHP
JavaScript中的new的使用方法与注意事项
2007/05/16 Javascript
Javascript 圆角div的实现代码
2009/10/15 Javascript
JavaScript中实现块作用域的方法
2010/04/01 Javascript
jquery向.ashx文件post中文乱码问题的解决方法
2011/03/28 Javascript
checkbox选中与未选中判断示例
2014/08/04 Javascript
jquery中filter方法用法实例分析
2015/02/06 Javascript
Javascript中的匿名函数与封装介绍
2015/03/15 Javascript
JS制作手机端自适应缩放显示
2015/06/11 Javascript
JQuery移动页面开发之屏幕方向改变与滚屏的实现
2015/12/03 Javascript
JavaScript使用简单正则表达式的数据验证功能示例
2017/01/13 Javascript
jquery append与appendTo方法比较
2017/05/24 jQuery
微信小程序tabBar用法实例详解
2017/12/04 Javascript
使用Node搭建reactSSR服务端渲染架构
2018/08/30 Javascript
JavaScript ES6箭头函数使用指南
2018/12/30 Javascript
详解50行代码,Node爬虫练手项目
2019/04/22 Javascript
JavaScript canvas绘制圆弧与圆形
2020/02/18 Javascript
VUE动态生成word的实现
2020/07/26 Javascript
python实现的防DDoS脚本
2011/02/08 Python
Flask模拟实现CSRF攻击的方法
2018/07/24 Python
对django中render()与render_to_response()的区别详解
2018/10/16 Python
Django框架验证码用法实例分析
2019/05/10 Python
使用NumPy读取MNIST数据的实现代码示例
2019/11/20 Python
python使用OpenCV模块实现图像的融合示例代码
2020/04/10 Python
python 双循环遍历list 变量判断代码
2020/05/04 Python
加大码胸罩、内裤和服装:Just My Size
2019/03/21 全球购物
乌克兰鞋类购物网站:Eobuv.com.ua
2020/11/28 全球购物
函授本科自我鉴定
2014/02/04 职场文书
2014学年自我鉴定
2014/02/23 职场文书
2014年计划生育协会工作总结
2014/11/14 职场文书
旷课检讨书
2015/01/26 职场文书
建房合同协议书
2016/03/21 职场文书
辞职申请书范本
2019/05/20 职场文书
浅谈Vue的computed计算属性
2022/03/21 Vue.js