python requests、xpath爬虫增加博客访问量

这是一个分析IP代理网站,通过代理网站提供的ip去访问CSDN博客,达到以不同ip访同一博客的目的,以娱乐为主,大家可以去玩一下。

首先,准备工作,设置User-Agent:

#1.headers
headers={‘User-Agent‘:‘Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 Firefox/68.0‘}

然后百度一个IP代理网站,我选用的是https://www.kuaidaili.com/free,解析网页,提取其中的ip、端口、类型,并以list保存:

#1.获取IP地址
html=requests.get(‘https://www.kuaidaili.com/free‘).content.decode(‘utf8‘)
tree = etree.HTML(html)
ip = tree.xpath("//td[@data-title=‘IP‘]/text()")
port=tree.xpath("//td[@data-title=‘PORT‘]/text()")
model=tree.xpath("//td[@data-title=‘类型‘]/text()")

接着分析个人博客下的各篇文章的url地址,以list保存

#2.获取CSDN文章url地址   ChildrenUrl[]
url=‘https://blog.csdn.net/weixin_43576564‘
response=requests.get(url,headers=headers)
Home=response.content.decode(‘utf8‘)
Home=etree.HTML(Home)
urls=Home.xpath("//div[@class=‘article-item-box csdn-tracking-statistics‘]/h4/a/@href")
ChildrenUrl=[]

然后通过代理ip去访问个人博客的各篇文章,通过for循环,一个ip将所有文章访问一遍,通过解析"我的博客"网页,获取总浏览量,实时监控浏览量是否发生变化,设置任务数,实时显示任务进度,通过random.randint()设置sleep时间,使得spider更加安全。全代码如下:

import os
import time
import random
import requests
from lxml import etree
#准备部分
#1.headers
headers={‘User-Agent‘:‘Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 Firefox/68.0‘}

#1.获取IP地址
html=requests.get(‘https://www.kuaidaili.com/free‘).content.decode(‘utf8‘)
tree = etree.HTML(html)
ip = tree.xpath("//td[@data-title=‘IP‘]/text()")
port=tree.xpath("//td[@data-title=‘PORT‘]/text()")
model=tree.xpath("//td[@data-title=‘类型‘]/text()")

#2.获取CSDN文章url地址   ChildrenUrl[]
url=‘https://blog.csdn.net/weixin_43576564‘
response=requests.get(url,headers=headers)
Home=response.content.decode(‘utf8‘)
Home=etree.HTML(Home)
urls=Home.xpath("//div[@class=‘article-item-box csdn-tracking-statistics‘]/h4/a/@href")
ChildrenUrl=[]
for i in range(1,len(urls)):
    ChildrenUrl.append(urls[i])

oldtime=time.gmtime()

browses=int(input("输入需要访问次数:"))
browse=0
#3.循环伪装ip并爬取文章
for i in range(1,len(model)):
    #设计代理ip
    proxies={model[i]:‘{}{}‘.format(ip[i],port[i])}
    for Curl in ChildrenUrl:
        try:
            browse += 1
            print("进度:{}/{}".format(browse,browses),end="\t")
            #遍历文章
            response=requests.get(Curl,headers=headers,proxies=proxies)
            #获取访问人数
            look=etree.HTML(response.content)
            Nuwmunber=look.xpath("//div[@class=‘grade-box clearfix‘]/dl[2]/dd/text()")
            count=Nuwmunber[0].strip()
            print("总浏览量:{}".format(count),end="\t")
            ‘‘‘

            重新实现

            #每个IP进行一次查询
            if Curl==ChildrenUrl[5]:
                ipUrl=‘http://www.ip138.com/‘
                response=requests.get(ipUrl,proxies=proxies)
                iphtml=response.content
                ipHtmlTree=etree.HTML(iphtml)
                ipaddress=ipHtmlTree.xpath("//p[@class=‘result‘]/text()")
                print(ip[i],ipaddress)
            ‘‘‘
            i = random.randint(5, 30)
            print("间隔{}秒".format(i),end="\t")
            time.sleep(i)
            print("当前浏览文章地址:{}".format(Curl))
            if browse == browses:
                print("已完成爬取任务,共消耗{}秒".format(int(time.perf_counter())))
                os._exit(0)

        except:
            print(‘error‘)
            os._exit(0)

    #打印当前代理ip
    print(proxies)

实际运行效果图:

原文地址:https://www.cnblogs.com/yxkj/p/11260383.html

时间: 2024-10-07 18:34:22

python requests、xpath爬虫增加博客访问量的相关文章

python爬虫设计刷博客访问量(刷访问量,赞,爬取图片)

需要准备的工具: 安装python软件,下载地址:https://www.python.org/ Fiddler抓包软件:http://blog.csdn.net/qq_21792169/article/details/51628123 刷博客访问量的原理是:打开一次网页博客访问量就增加一次.(新浪,搜狐等博客满足这个要求) count.py <span style="font-size:18px;">import webbrowser as web import time

使用python爬取csdn博客访问量

最近学习了python和爬虫,想写一个程序练练手,所以我就想到了大家都比较关心的自己的博客访问量,使用python来获取自己博客的访问量,这也是后边我将要进行的项目的一部分,后边我会对博客的访问量进行分析,以折线图和饼图等可视化的方式展示自己博客被访问的情况,使自己能更加清楚自己的哪些博客更受关注,博客专家请勿喷,因为我不是专家,我听他们说专家本身就有这个功能. 一.网址分析 进入自己的博客页面,网址为:http://blog.csdn.net/xingjiarong 网址还是非常清晰的就是cs

python编写的自动获取代理IP列表的爬虫-chinaboywg-ChinaUnix博客

python编写的自动获取代理IP列表的爬虫-chinaboywg-ChinaUnix博客 undefined Python多线程抓取代理服务器 | Linux运维笔记 undefined java如果模拟请求重启路由器(网络爬虫常用),还有java如何下载图片 - baidu_nod的专栏 - 博客频道 - CSDN.NET undefined [多线程数据采集]使用Jsoup抓取数据+破解屏蔽ip访问. - MiniBu - 开源中国社区 undefined 单linux服务器同时拨多条AD

python数据挖掘领域工具包 - wentingtu - 博客园

python数据挖掘领域工具包 - wentingtu - 博客园 python数据挖掘领域工具包 原文:http://qxde01.blog.163.com/blog/static/67335744201368101922991/ Python在科学计算领域,有两个重要的扩展模块:Numpy和Scipy.其中Numpy是一个用python实现的科学计算包.包括: 一个强大的N维数组对象Array: 比较成熟的(广播)函数库: 用于整合C/C++和Fortran代码的工具包: 实用的线性代数.傅

Orchard官方文档翻译(八) 为站点增加博客

原文地址:http://docs.orchardproject.net/Documentation/Adding-a-blog-to-your-site 想要查看文档目录请用力点击这里 最近想要学习了解orchard,但却没有找到相关的中文文档,只有英文文档.于是决定自行翻译,以便日后方便翻阅. 转载请注明原作者与出处. 本人英文水平有限,错误之处欢迎指出以便修正 为站点增加博客 该主题内容已在Orchard 1.8 release版本下测试通过 通过使用Orchard的博客引擎可以轻松得为站点

使用statcounter统计Hexo博客访问量

title: 使用statcounter统计Hexo博客访问量 date: 2019-05-30 20:55:29 tags: 配置 --- 介绍 statcounter是一个提供网站访问统计服务的网站: StatCounter is a simple but powerful real-time web analytics service that helps you track, analyse and understand your visitors so you can make goo

python 爬虫 计算博客园浏览量,刷浏览量

首先进入博客园的管理页面: 通过观察A-JAX请求,发现博客的分类(categories)是一个json格式的数据即:                                    于是先爬取categories.通过各个分类的页面进而爬去地址,浏览量,打开一个category的页面: 检查网页     这样就得到了每个博客的地址和浏览量了 上代码,其他一些问题在代码中给出注释: import time import requests import json import re from

[Python] 命令行模式阅读博客园的博文

通过Python脚本读取博客园分页数据,把标题.摘要和链接过滤出来,方便我们在命令行中阅读. 阅读本文可以熟悉一般爬虫的原理,以及指令交互界面的开发. 一.说明 运行环境:win10/Python 3.5(Win10的玩家可以下载 Window Terminal Preview玩玩,确实不错!): 主要模块:requests(发送http请求).lxml.etree(格式化DOM树,xpath查找).sys(获取命令行参数.重写标准输出等).os(系统相关.如清屏操作): 注意:由于时间仓促,没

Python3.7实现自动刷博客访问量(只需要输入用户id)(转)

新增了代理功能,代码很浅显易懂不想多余讲解 import re import requests from requests import RequestException import time import random from bs4 import BeautifulSoup # 获取网页的response文件 def get_response(url): try: headers = { 'Referer': 'https://blog.csdn.net', # 伪装成从CSDN博客搜索