Skip to content

Instantly share code, notes, and snippets.

@Warm-rain
Created April 10, 2019 15:27
Show Gist options
  • Save Warm-rain/d8f4ee9362deafc33a8bcc7dc430b975 to your computer and use it in GitHub Desktop.
Save Warm-rain/d8f4ee9362deafc33a8bcc7dc430b975 to your computer and use it in GitHub Desktop.
看着自己写的文章浏览数一点一点增加是非常开心的,但总感觉浏览数增长地太慢了,于是自然想到,为什么不能写一个小程序自动刷博客浏览量呢?Let's do it 首先,我们尝试用requests打开博客url,看看浏览量是否会增加(当然要用到一点点伪装技术)
```python
import re
import requests
from requests import RequestException
import time
import random
def get_page(url):
try:
headers = {
'Referer': 'https://blog.csdn.net', # 伪装成从CSDN博客搜索到的文章
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.75 Safari/537.36' # 伪装成浏览器
}
response = requests.get(url, headers=headers)
if response.status_code == 200:
return response.text
return None
except RequestException:
print('请求出错')
return None
def parse_page(html):
try:
read_num = int(re.compile('<span.*?read-count.*?(\d+).*?</span>').search(html).group(1))
return read_num
except Exception:
print('解析出错')
return None
def main():
try:
url = 'https://blog.csdn.net/polyhedronx/article/details/81479125' # 待刷浏览量博客的url
while 1:
html = get_page(url)
if html:
read_num = parse_page(html)
if read_num:
print('当前阅读量:', read_num)
sleep_time = random.randint(60, 120)
print('please wait', sleep_time, 's')
time.sleep(sleep_time) # 设置访问频率,过于频繁的访问会触发反爬虫
except Exception:
print('出错啦!')
if __name__ == '__main__':
main()
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment