日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python博客访问量_史诗级干货-python爬虫之增加CSDN访问量

發布時間:2023/12/6 python 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python博客访问量_史诗级干货-python爬虫之增加CSDN访问量 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

AI

人工智能

史詩級干貨-python爬蟲之增加CSDN訪問量

史詩級干貨-python爬蟲之增加CSDN訪問量

搜索微信公眾號:‘AI-ming3526’或者’計算機視覺這件小事’ 獲取更多算法、機器學習干貨

csdn:https://blog.csdn.net/baidu_31657889/

github:https://github.com/aimi-cn/AILearners

文章初衷:

最近CSDN官方出了一個流量扶持計劃,針對原創文章進行百度推廣,我嘗試推了幾篇,效果也不是很好,或者是自己文章水平不夠,太水~就想著增加一下自己CSDN的訪問量

想寫出更優質的博客技術文章,不再為了訪問量去寫文章。

本文參照CSDN一個大佬的文章:https://blog.csdn.net/Giser_D/article/details/97472274

加上了使用代理訪問,可以盡量防止被官方封號,更安全一些。

步驟:

在國內髙匿代理IP網站:http://www.xicidaili.com/nn/ 取到ip。

通過解析csdn博客首頁html 獲得相應文章的a標簽鏈接,使用代理對其進行訪問。

Python代碼實現:

#!/usr/bin/env python

# -*- encoding: utf-8 -*-

'''

@File : csdn.py

@Time : 2019/08/26 09:54:47

@Author : xiao ming

@Version : 1.0

@Contact : xiaoming3526@gmail.com

@Desc : None

@github : https://github.com/aimi-cn/AILearners

'''

# 導入相關爬蟲庫和解析xml庫即可

import time

from pyquery import PyQuery as pq

import requests

from bs4 import BeautifulSoup

import random

from fake_useragent import UserAgent

from lxml import etree

import ssl

ssl._create_default_https_context = ssl._create_unverified_context

# 爬取csdn類

class ScrapyMyCSDN:

''' class for csdn'''

def __init__(self,blogname):

'''init 類似于構造函數 param[in]:blogname:博客名'''

csdn_url = 'https://blog.csdn.net/' #常規csdnurl

self.blogurl = csdn_url+blogname #拼接字符串成需要爬取的主頁url

''' Func:獲取寫了多少篇原創文章 '''

''' return:寫了多少篇原創文章'''

def getOriginalArticalNums(self,proxies):

main_response = requests.get(self.blogurl,proxies=proxies)

# 判斷是否成功獲取 (根據狀態碼來判斷)

if main_response.status_code == 200:

print('獲取成功')

self.main_html = main_response.text

main_doc = pq(self.main_html)

mainpage_str = main_doc.text() #頁面信息去除標簽信息

origin_position = mainpage_str.index('原創') #找到原創的位置

end_position = mainpage_str.index('原創',origin_position+1) #最終的位置,即原創底下是數字多少篇博文

self.blog_nums = ''

# 獲取寫的博客數目

for num in range(3,10):

#判斷為空格 則跳出循環

if mainpage_str[end_position + num].isspace() == True:

break

self.blog_nums += mainpage_str[end_position + num]

print(type(str(self.blog_nums)))

cur_blog_nums = (int((self.blog_nums))) #獲得當前博客文章數量

return cur_blog_nums #返回博文數量

else:

print('爬取失敗')

return 0 #返回0 說明博文數為0或者爬取失敗

''' Func:分頁'''

''' param[in]:nums:博文數 '''

''' return: 需要爬取的頁數'''

def getScrapyPageNums(self,nums):

self.blog_original_nums = nums

if nums == 0:

print('它沒寫文章,0頁啊!')

return 0

else:

print('現在開始計算')

cur_blog = nums/20 # 獲得精確的頁碼

cur_read_page = int(nums/20) #保留整數

# 進行比對

if cur_blog > cur_read_page:

self.blog_original_nums = cur_read_page + 1

print('你需要爬取 %d'%self.blog_original_nums + '頁')

return self.blog_original_nums #返回的數字

else:

self.blog_original_nums = cur_read_page

print('你需要爬取 %d'%self.blog_original_nums + '頁')

return self.blog_original_nums

'''Func:開始爬取,實際就是刷瀏覽量hhh'''

'''param[in]:page_num:需要爬取的頁數'''

'''return:0:瀏覽量刷失敗'''

def beginToScrapy(self,page_num,proxies):

if page_num == 0:

print('連原創博客都不寫 爬個鬼!')

return 0

else:

for nums in range(1,page_num+1):

self.cur_article_url = self.blogurl + '/article/list/%d'%nums+'?t=1&' #拼接字符串

article_doc = requests.get(self.cur_article_url,proxies=proxies) #訪問該網站

# 先判斷是否成功訪問

if article_doc.status_code == 200:

print('成功訪問網站%s'%self.cur_article_url)

#進行解析

cur_page_html = article_doc.text

#print(cur_page_html)

soup = BeautifulSoup(cur_page_html,'html.parser')

for link in soup.find_all('p',class_="content"):

#print(link.find('a')['href'])

requests.get(link.find('a')['href'],proxies=proxies) #進行訪問

else:

print('訪問失敗')

print('訪問結束')

# IP地址取自國內髙匿代理IP網站:http://www.xicidaili.com/nn/

#功能:爬取IP存入ip_list列表

def get_ip_list(url, headers):

web_data = requests.get(url, headers=headers)

soup = BeautifulSoup(web_data.text, 'lxml')

ips = soup.find_all('tr')

ip_list = []

for i in range(1, len(ips)):

ip_info = ips[i]

tds = ip_info.find_all('td') #tr標簽中獲取td標簽數據

if not tds[8].text.find('天')==-1:

ip_list.append(tds[1].text + ':' + tds[2].text)

return ip_list

#功能:1,將ip_list中的IP寫入IP.txt文件中

# 2,獲取隨機IP,并將隨機IP返回

def get_random_ip(ip_list):

proxy_list = []

for ip in ip_list:

proxy_list.append(ip)

f=open('IP.txt','a+',encoding='utf-8')

f.write('http://' + ip)

f.write('n')

f.close()

proxy_ip = random.choice(proxy_list)

proxies = {'http':proxy_ip}

return proxies

if __name__ == '__main__':

for i in range(1,3):

url = 'http://www.xicidaili.com/wt/{}'.format(i)

headers = {

'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36'

}

ip_list = get_ip_list(url, headers=headers)

proxies = get_random_ip(ip_list)

print(proxies)

#如何調用該類 參數換成你的csdn名字就行

mycsdn = ScrapyMyCSDN('baidu_31657889') #初始化類 參數為博客名

cur_write_nums = mycsdn.getOriginalArticalNums(proxies) #得到寫了多少篇文章

cur_blog_page = mycsdn.getScrapyPageNums(cur_write_nums) #cur_blog_page:返回需要爬取的頁數

mycsdn.beginToScrapy(cur_blog_page,proxies)

time.sleep(20) # 給它休息時間 還是怕被封號的

需要用到的pip包

我的python環境為3.6.5版本及以上需要安裝相關庫

pip install pyquery

pip install requests

pip install bs4

pip install fake_useragent

pip install lxml

pip install ssl

使用方法

修改主函數第一行中range(1,3),這代表只取兩個隨機代理,然后讓我們的csdn所有原創文章瀏覽量加一遍,循環兩次,修改range后面的值就可以增加循環次數了。

mycsdn = ScrapyMyCSDN('baidu_31657889') #參數為博客名,參數換成你的csdn名字就行

后記

個人感覺提高博客質量才是重點,但是我們可以找到比較好的機會來蹭個熱度,爬一下自己感覺非常不錯的文章。

當然我們要記得適可而止,網上不乏有很多人的號被封的。別忘記我們寫博客的初衷是什么,對訪問量這個東西不用太在意了。

代碼下載地址:https://github.com/aimi-cn/AILearners/tree/master/src/py3.x/others/fm/19.08.26/csdn.py

內容來源于網絡,如有侵權請聯系客服刪除

總結

以上是生活随笔為你收集整理的python博客访问量_史诗级干货-python爬虫之增加CSDN访问量的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。