• python实现的刷博客浏览量(有待改进)


    python3.4,

    使用了url.request,re ,bs4这些库,

    在mooc看了很久爬虫的代码,

    感觉自己可以实现这么一个贱贱的功能,

    但是写完了之后访问页面是可以的,

    但是浏览量并不增加。

    宝宝心里苦,

    感觉还要每次清空Cookie,

    有空再改。

    import urllib.request
    import re
    import time
    import random
    from bs4 import BeautifulSoup
    
    p = re.compile('/MnsterLu/p/............')
    #自己的博客主页
    url = "http://www.cnblogs.com/MnsterLu/"
    #http://www.cnblogs.com/MnsterLu/p/5532399.html
    #http://www.cnblogs.com/MnsterLu/p/5518372.html
    
    #让python模仿浏览器进行访问
    opener = urllib.request.build_opener()
    opener.addheaders = [('User-agent', 'Mozilla/5.0')]
    
    html = opener.open(url).read().decode('utf-8')
    
    allfinds = p.findall(html)
    print(allfinds)
    
    urlBase = "http://www.cnblogs.com"#需要将网址合并的部分
    #页面中的网址有重复的,需要使用set进行去重复
    mypages = list(set(allfinds))
    for i in range(len(mypages)):
        mypages[i] = urlBase+mypages[i]
    
    print('要刷的网页有:')
    for index , page in enumerate(mypages) :
        print(str(index), page)
    
    #设置每个网页要刷的次数
    brushMax = 200
    
    #所有的页面都刷
    print('开始刷:')
    for index , page in enumerate(mypages) :
        brushNum=random.randint(0,brushMax)
        for j in range(brushNum):
            try :
                pageContent = opener.open(page).read().decode('utf-8')
                #使用BeautifulSoup解析每篇博客的标题
                soup = BeautifulSoup(pageContent)
                blogTitle = str(soup.title.string)
                blogTitle = blogTitle[0:blogTitle.find('-')]
                print(str(j) , blogTitle)
    
            except urllib.error.HTTPError:
                print('urllib.error.HTTPError')
                time.sleep(1)#出现错误,停几秒先
    
            except urllib.error.URLError:
                print('urllib.error.URLError')
                time.sleep(1)#出现错误,停几秒先
            time.sleep(0.5)#正常停顿,以免服务器拒绝访问
  • 相关阅读:
    动态tab页
    SQL Server附加数据库拒绝访问
    SQL window身份登陆 SQL server不能登陆
    SQL UPDATE 经典
    Char Varchar Nvarchar区别
    【OpenSSL】创建证书
    makecert 制作数字证书
    cer, pfx 创建,并且读取公钥/密钥,加解密 (C#程序实现)
    CompareValidator ASP控件
    XMLHelper 类
  • 原文地址:https://www.cnblogs.com/MnsterLu/p/5535991.html
Copyright © 2020-2023  润新知