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 远程统计文件代码分享
May 14 Python
Python xlwt设置excel单元格字体及格式
Apr 18 Python
Win7 64位下python3.6.5安装配置图文教程
Oct 27 Python
Pyqt实现无边框窗口拖动以及窗口大小改变
Apr 19 Python
基于python实现检索标记敏感词并输出
May 07 Python
Python logging模块写入中文出现乱码
May 21 Python
Python+PyQt5实现灭霸响指功能
May 25 Python
如何使用PyCharm引入需要使用的包的方法
Sep 22 Python
基于 Python 实践感知器分类算法
Jan 07 Python
Django和Ueditor自定义存储上传文件的文件名
Feb 25 Python
python 实现网易邮箱邮件阅读和删除的辅助小脚本
Mar 01 Python
Python序列化与反序列化相关知识总结
Jun 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脚本数据库功能详解(上)
2006/10/09 PHP
PHP生成静态页
2006/11/25 PHP
PHP页面间参数传递的四种方法详解
2013/06/09 PHP
Laravel 5框架学习之数据库迁移(Migrations)
2015/04/08 PHP
PHP处理CSV表格文件的常用操作方法总结
2016/07/01 PHP
PHP使Laravel为JSON REST API返回自定义错误的问题
2018/10/16 PHP
jQuery获取样式中的背景颜色属性值/颜色值
2012/12/17 Javascript
根据json字符串生成Html的一种方式
2013/01/09 Javascript
详细介绍8款超实用JavaScript框架
2013/10/25 Javascript
将json对象转换为字符串的方法
2014/02/20 Javascript
jQuery 实现自动填充邮箱功能(带下拉提示)
2014/10/14 Javascript
js正则匹配出所有图片及图片地址src的方法
2015/06/08 Javascript
javascript下拉列表菜单的实现方法
2015/11/18 Javascript
AngularJS实现数据列表的增加、删除和上移下移等功能实例
2016/09/05 Javascript
EditPlus中的正则表达式 实战(2)
2016/12/15 Javascript
原生JS仿QQ阅读点击展开、收起效果
2017/03/08 Javascript
关于JavaScript的单双引号嵌套问题
2017/08/20 Javascript
react-native使用leanclound消息推送的方法
2018/08/06 Javascript
vue 2.1.3 实时显示当前时间,每秒更新的方法
2018/09/16 Javascript
vue移动端使用canvas签名的实现
2020/01/15 Javascript
如何实现vue的tree组件
2020/12/03 Vue.js
python web框架学习笔记
2016/05/03 Python
python分布式环境下的限流器的示例
2017/10/26 Python
用xpath获取指定标签下的所有text的实例
2019/01/02 Python
python3 enum模块的应用实例详解
2019/08/12 Python
python super用法及原理详解
2020/01/20 Python
在python下实现word2vec词向量训练与加载实例
2020/06/09 Python
手把手教你将Flask应用封装成Docker服务的实现
2020/08/19 Python
CSS3实现图片抽屉式效果的示例代码
2019/11/06 HTML / CSS
英国最大的天然和有机产品在线零售商之一:Big Green Smile
2020/05/06 全球购物
优秀团支部事迹材料
2014/02/08 职场文书
大专生找工作自荐书
2014/06/10 职场文书
天猫活动策划方案
2014/08/21 职场文书
机械原理课程设计心得体会
2016/01/15 职场文书
南阳市白酒市场的调查报告
2019/11/08 职场文书
手写实现JS中的new
2021/11/07 Javascript