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连接mysql数据库示例(做增删改操作)
Dec 31 Python
详解Python的Django框架中inclusion_tag的使用
Jul 21 Python
详细介绍Python的鸭子类型
Sep 12 Python
TensorFlow 实战之实现卷积神经网络的实例讲解
Feb 26 Python
PyCharm-错误-找不到指定文件python.exe的解决方法
Jul 01 Python
python cumsum函数的具体使用
Jul 29 Python
python 实现字符串下标的输出功能
Feb 13 Python
细数nn.BCELoss与nn.CrossEntropyLoss的区别
Feb 29 Python
PYcharm 激活方法(推荐)
Mar 23 Python
python使用hdfs3模块对hdfs进行操作详解
Jun 06 Python
Python使用pickle进行序列化和反序列化的示例代码
Sep 22 Python
PyCharm2020.3.2安装超详细教程
Feb 08 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
php 购物车的例子
2009/05/04 PHP
Drupal简体中文语言包安装教程
2014/09/27 PHP
thinkPHP数据查询常用方法总结【select,find,getField,query】
2017/03/15 PHP
php传值方式和ajax的验证功能
2017/03/27 PHP
JavaScript 创建对象和构造类实现代码
2009/07/30 Javascript
监控 url fragment变化的js代码
2010/04/19 Javascript
jQuery中使用了document和window哪些属性和方法小结
2011/09/13 Javascript
js异步加载的三种解决方案
2013/03/04 Javascript
AngularJS的ng-repeat指令与scope继承关系实例详解
2017/01/21 Javascript
vue-cli+webpack记事本项目创建
2017/04/01 Javascript
Vue.js 中的 $watch使用方法
2017/05/25 Javascript
分享Bootstrap简单表格、表单、登录页面
2017/08/04 Javascript
微信小程序框架wepy之动态控制类名
2018/09/14 Javascript
Vue项目实现换肤功能的一种方案分析
2019/08/28 Javascript
Element-Ui组件 NavMenu 导航菜单的具体使用
2019/10/24 Javascript
Vue组件基础用法详解
2020/02/05 Javascript
Vue 请求传公共参数的操作
2020/07/31 Javascript
通过实例解析jQ Ajax操作相关原理
2020/09/23 Javascript
python函数缺省值与引用学习笔记分享
2013/02/10 Python
Django中对数据查询结果进行排序的方法
2015/07/17 Python
python中OrderedDict的使用方法详解
2017/05/05 Python
Python matplotlib画图实例之绘制拥有彩条的图表
2017/12/28 Python
python机器学习理论与实战(四)逻辑回归
2018/01/19 Python
pycharm运行程序时在Python console窗口中运行的方法
2018/12/03 Python
提升Python效率之使用循环机制代替递归函数
2019/07/23 Python
Python+Appium实现自动化清理微信僵尸好友的方法
2021/02/04 Python
JINS眼镜官方网站:日本最大的眼镜邮购
2016/10/14 全球购物
播音主持专业个人自我评价
2014/01/09 职场文书
医院护士工作检讨书
2014/10/26 职场文书
退学证明范本3篇
2014/10/29 职场文书
2014年学校工作总结
2014/11/20 职场文书
就业推荐表导师评语
2014/12/31 职场文书
2015年小学语文工作总结
2015/05/25 职场文书
2016廉洁从业学习心得体会
2016/01/19 职场文书
工作违纪的检讨书范文
2019/07/09 职场文书
postgreSQL数据库基础知识介绍
2022/04/12 PostgreSQL