Python一日一练05—-怒刷点击量[通俗易懂]

Python一日一练05—-怒刷点击量

大家好,又见面了,我是全栈君。

功能

自己主动获取CSDN文章列表,并对每篇文章添加点击量.

源代码

import urllib.request
import re
import time
import random
from bs4 import BeautifulSoup

p = re.compile('/a359680405/article/details/........')

#自己的博客主页
url = "http://blog.csdn.net/a359680405"

#使用build_opener()是为了让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://blog.csdn.net"#须要将网址合并的部分
#页面中的网址有反复的,须要使用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.1)#正常停顿,以免server拒绝訪问


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/115762.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • BeanCopier 详解「建议收藏」

    BeanCopier 详解「建议收藏」 BeanCopier实现属性拷贝的主要代码: BeanCopierbeanCopier=BeanCopier.create(dad.getClass(),dadly.getClass(),false); beanCopier.copy(dad,dadly,null);  查看BeanCopier源码可知: abstractpublicclass…

    2022年9月5日
  • java简易爬虫Crawler

    java简易爬虫Crawler小型简易爬虫源码(java版)一,介绍:   >这是我的第一个爬虫,比较简单,没有队列,广度优先算法等,用list集合代替了队列。     >而且只爬取一个网址上面的图片,并不是将网址中的链接加入队列,然后下载一个网址一个网址下载其中的图片。     >不过,这是前期的,处于摸索阶段,后期学完队列和广算后,在涉及一点多线程,肯定会比想象中的更实用。

    2022年6月11日
  • 怎么彻底卸载mysql8.0_彻底卸载MySQL8.0

    怎么彻底卸载mysql8.0_彻底卸载MySQL8.0彻底卸载MySQL8.0(WIN10)环境需求win10MySQL8.0彻底卸载1.停止MySQL服务启动任务管理器—>选择服务—->找到MySQL—->右键停止如果有多个MySQL服务,也全部都要停掉2.卸载MySQL相关所有组件打开看控制面板—->卸载程序—->卸载与MySQL相关的所有组件3.删除MySQL安装目录下的MySQL文件夹如果在其…

    2022年6月17日
  • 列举出linux文件和目录常用的命令_shell基本命令

    列举出linux文件和目录常用的命令_shell基本命令目录命令总览ls(英文全拼:listfiles):列出目录及文件名cd(英文全拼:changedirectory):切换目录pwd(英文全拼:printworkdirectory):显

    2022年7月29日
  • matlab求解微分方程组(matlab解微分方程的数值解)

    如何用matlab来求解简单的微分方程?举例来说明吧。求解三阶常微分方程。我们知道,求解高阶常微分方程可以化为求解一阶常微分方程组。编写函数eq3.m:%解常微分方程3*y”’+5*y”+6*sin(t)*y=costfunctionydot=eq3(t,y)ydot=[y(2);y(3);(cos(t)-5*y(3)-6*sin(t)*y(1))/3];其中,ydot为一个

    2022年4月18日
  • 情感词典构建_晦涩情感词典

    情感词典构建_晦涩情感词典看到一篇文章写的很清楚简洁,直接转了。————————————————————————————————————————某主席说,“没有情感词典的“使用该情感词典进行情感分析”都是耍流氓。”某帝说,“要有情感词典。”

    2022年8月23日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号