python实现的刷博客浏览量(有待改进)
Posted Mnster_Lu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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)#正常停顿,以免服务器拒绝访问
以上是关于python实现的刷博客浏览量(有待改进)的主要内容,如果未能解决你的问题,请参考以下文章