爬取某知名网站的数据

爬取某知名网站的数据😄

爬虫 + 骚操作 = 不讲武德 = 耗子尾汁

增加你的浏览量
github传送门: https://github.com/rzy0901/CSDN_visitor

需要安装的包

1️⃣

BeautifulSoup

2️⃣

urllib

安装方法:

百度 + 随缘 pip install xxx

代码函数介绍

1️⃣

def get_page_url_list(homepage_url, page_number):for page in range(1, page_number + 1):page_url_list.append("{0}/article/list/{1}".format(homepage_url, page))print('page_url_list: ' + page_url_list.__str__())
  • 功能:得到你的博客每一页的URL列表
  • homepage_url: 博客主页的URL
  • page_number: 博客的页数
  • 注意!这个函数只适用于CSDN,别的博客可以自己观察一下换页之后博客主页的网址形式,再修改代码

2️⃣

def get_article_list(pageurl_list):for page_url in pageurl_list:response = requests.get(page_url, headers={'User-Agent': User_Agent[random.randint(0, len(User_Agent) - 1)],'referer': 'http://blog.csdn.net'})soup = BeautifulSoup(response.content, 'lxml')h4 = soup.find_all("h4")for h in h4:if h is not None:article_list.append(h.a["href"])else:passprint("article_list" + article_list.__str__())
  • 功能:得到你的博文的URL列表(全部)
  • 输入为pageurl_list,即通过get_page_url_list得到的列表

3️⃣

def get_proxy_list():for row in urlopen('http://proxylist.fatezero.org/proxy.list').readlines():item = json.loads(row)if item['type'] == 'http' and item['anonymity'] == 'high_anonymous' and item['response_time'] < 7:proxy_list.append(item['host'] + ':' + str(item['port']))print("proxy_list" + proxy_list.__str__())
  • 功能:得到代理ip列表(目的为每隔一分钟更换代理ip,防止爬虫被发现)

  • 需要翻墙,所以直接用我跑出来的列表就行了。

  • 当然也可以选择别的网站获取代理ip的列表。

整体代码

import random
import requests
from bs4 import BeautifulSoup
from urllib.request import urlopen
import json
import datetime
from threading import Thread
import timepage_url_list = []article_list = []# 这个不要改,预设好的代理ip
proxy_list = ['3.211.17.212:80', '208.80.28.208:8080', '169.57.1.84:8123','208.81.193.205:80', '51.81.113.246:80', '138.197.157.16:80','52.170.221.245:80', '134.209.162.216:80', '204.13.164.179:80', '159.8.114.37:80', '159.8.114.37:8123','62.102.235.187:80', '195.201.74.70:80', '83.96.237.121:80', '169.57.157.148:80', '78.47.16.54:80','159.8.114.34:8123', '161.202.226.194:8123', '23.91.96.251:80', '80.48.119.28:8080', '119.81.189.194:80','103.115.14.43:80', '149.28.28.66:80', '119.81.71.27:8123', '119.81.71.27:80', '181.94.244.49:8080','119.206.242.196:80', '136.243.254.196:80', '122.147.141.151:80', '45.202.9.160:8888','51.75.147.43:3128', '68.94.189.60:80', '60.255.151.82:80', '58.218.239.164:4216', '162.144.50.197:3838','149.28.157.229:3128', '180.250.12.10:80', '150.109.32.166:80', '115.223.7.110:80', '47.98.112.7:80','43.254.221.27:80', '101.132.143.232:80', '223.82.106.253:3128', '46.4.129.54:80', '14.63.228.217:80','82.200.233.4:3128', '165.22.66.91:80', '80.253.247.42:3838', '116.254.116.99:8080', '51.75.147.44:3128','132.145.18.53:80', '135.181.68.88:3128', '162.144.46.168:3838', '51.15.157.182:3838','212.83.161.110:3838', '162.144.48.139:3838', '47.75.90.57:80', '162.144.48.236:3838', '51.81.82.175:80','31.14.49.1:8080', '195.154.242.205:3838', '163.172.127.248:3838', '51.75.147.35:3128','182.52.238.119:40456', '212.129.32.41:3838', '110.44.117.26:43922', '40.121.91.147:80','13.233.254.153:80', '193.110.115.220:3128', '79.134.7.134:48900', '128.199.83.56:9999']User_Agent = ["Mozilla/5.0 (iPod; U; CPU iPhone OS 4_3_2 like Mac OS X; zh-cn) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8H7 Safari/6533.18.5","Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_2 like Mac OS X; zh-cn) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8H7 Safari/6533.18.5","MQQBrowser/25 (Linux; U; 2.3.3; zh-cn; HTC Desire S Build/GRI40;480*800)","Mozilla/5.0 (Linux; U; Android 2.3.3; zh-cn; HTC_DesireS_S510e Build/GRI40) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1","Mozilla/5.0 (SymbianOS/9.3; U; Series60/3.2 NokiaE75-1 /110.48.125 Profile/MIDP-2.1 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413","Mozilla/5.0 (iPad; U; CPU OS 4_3_3 like Mac OS X; zh-cn) AppleWebKit/533.17.9 (KHTML, like Gecko) Mobile/8J2","Mozilla/5.0 (Windows NT 5.2) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.122 Safari/534.30","Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.202 Safari/535.1","Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/534.51.22 (KHTML, like Gecko) Version/5.1.1 Safari/534.51.22","Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A5313e Safari/7534.48.3","Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A5313e Safari/7534.48.3","Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A5313e Safari/7534.48.3","Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.202 Safari/535.1","Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0; SAMSUNG; OMNIA7)","Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; XBLWP7; ZuneWP7)","Mozilla/5.0 (Windows NT 5.2) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.122 Safari/534.30","Mozilla/5.0 (Windows NT 5.1; rv:5.0) Gecko/20100101 Firefox/5.0","Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET4.0E; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C)","Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET4.0E; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C)","Mozilla/4.0 (compatible; MSIE 60; Windows NT 5.1; SV1; .NET CLR 2.0.50727)","Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)","Opera/9.80 (Windows NT 5.1; U; zh-cn) Presto/2.9.168 Version/11.50","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)","Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET4.0E; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C)","Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN) AppleWebKit/533.21.1 (KHTML, like Gecko) Version/5.0.5 Safari/533.21.1","Mozilla/5.0 (Windows; U; Windows NT 5.1; ) AppleWebKit/534.12 (KHTML, like Gecko) Maxthon/3.0 Safari/534.12","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; TheWorld)"
]def get_page_url_list(homepage_url, page_number):for page in range(1, page_number + 1):page_url_list.append("{0}/article/list/{1}".format(homepage_url, page))print('page_url_list: ' + page_url_list.__str__())def get_article_list(pageurl_list):for page_url in pageurl_list:response = requests.get(page_url, headers={'User-Agent': User_Agent[random.randint(0, len(User_Agent) - 1)],'referer': 'http://blog.csdn.net'})soup = BeautifulSoup(response.content, 'lxml')h4 = soup.find_all("h4")for h in h4:if h is not None:article_list.append(h.a["href"])else:passprint("article_list" + article_list.__str__())def get_proxy_list():for row in urlopen('http://proxylist.fatezero.org/proxy.list').readlines():item = json.loads(row)if item['type'] == 'http' and item['anonymity'] == 'high_anonymous' and item['response_time'] < 7:proxy_list.append(item['host'] + ':' + str(item['port']))print("proxy_list" + proxy_list.__str__())def run():while True:for proxy in proxy_list:proxy = {'http': proxy}for article in article_list:header = {'User-Agent': User_Agent[random.randint(0, len(User_Agent) - 1)]}try:requests.get(article, headers=header, proxies=proxy, timeout=7)print('ok ip:' + proxy['http'] + 'article:' + article)except:print('no')if proxy['http'] in proxy_list:proxy_list.remove(proxy['http'])time.sleep(60)  # 哎呀,我服了,csdn好像在一分钟以内即使由多个不同的代理ip来访问它,它的访问量还是为1.(也就是一分钟内,你每一篇文章的最大访问量永远为1)# 妈的,草鸡玩意,太精明了if __name__ == '__main__':random.seed(datetime.datetime.now())# get_proxy_list()  # 这玩意需要翻墙才可以爬取,而且有时候不成,所以直接用现成的就行。get_page_url_list(homepage_url='https://blog.csdn.net/qq_45504981', page_number=1)get_article_list(pageurl_list=page_url_list)mission = list()  # 多线程跑的快nums = 50for i in range(nums):mission.append(Thread(target=run()))for i in range(nums):# mission[i].setDaemon(True)mission[i].start()for i in range(nums):mission[i].join()

运行案例

image-20201121010221453

  • 我应该已经挂机一段时间了,刷新一下网页界面:(可以看一下我电脑显示的时间)

image-20201121010427650

大约每分钟14个浏览量(你有几篇博文,每分钟有几个浏览量,相当于每分钟拿一个新的ip把你的博文遍历访问一遍)。

备注

  • 悠着点用,号没了。
    在这里插入图片描述

  • csdn目前的机制一分钟内无论多少ip访问一篇博文,博文的最大访问量为1!!!(所以投机取巧是几乎不可能,更换ip意义在于防止爬虫被发现)

  • 更换User-Agent以及代理ip防止爬虫被发现

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/33076.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据可视化网页内容自动抓取工具

网页内容提取支持我们对公开的网页信息数据进行提取&#xff0c;如果通过人工对网页数据采集&#xff0c;是一个繁琐的工作&#xff0c;网页内容提取工具通过可视化的操作页面&#xff0c;模拟人工进行网页内容提取&#xff0c;能快速获取整个网站的对应元素。 网页内容提取工具…

Charles抓取http接口数据

##1.Charles抓取http接口数据 这个资料网上一大堆&#xff0c;此处不再赘述。本着认真负责的态度我还是到网上找了一篇图文并茂的文章供大家参考 iOS使用Charles&#xff08;青花瓷&#xff09;抓包并篡改返回数据图文详解 值得一提的是&#xff0c;这篇文章中讲解的使用Charle…

从网页抓取数据的一般方法

首先要了解对方网页的运行机制 &#xff0c;这可以用httpwacth或者httplook来看一下http发送和接收的数据。这两个工具应该说是比较简单易懂的。这里就不再介绍了。主要关注的内容是header和post的内容。一般会包括cookie&#xff0c;Referer页面和其他一些乱其八糟可能看不懂的…

如何简单的抓取网站数据

1.首先&#xff0c;用带debug的火狐浏览器&#xff0c;访问要抓取的网站&#xff0c;通过debug的控制台或网络找到数据的接口。 2.Spring框架自3.0版本起&#xff0c;自带了任务调度功能&#xff0c;好比是一个轻量级的Quartz&#xff0c;而且使用起来也方便、简单&#xff0c;…

利用Wireshark抓取QQ的数据流

一、准备工作 1、下载好Wireshark。 2、在手机和电脑分别登录同一个 QQ。 3、电脑和手机连同一个网络&#xff08;WiFi和或者手机热点&#xff09;。 二、操作阶段 1、打开Wireshark。 2、查看手机所连接网络的ip地址。 3、选择WLAN&#xff0c;在搜索栏输入ip.src ip地…

如何实时抓取动态网页数据?

我们所生活的数字世界正在不断地产生大量的数据。利用动态大数据已经成为企业数据分析的关键。 在本文中&#xff0c;我们将回答以下几个问题&#xff1a; 1、为什么采集动态数据很重要? 2、动态数据是如何有效的促进业务增长? 3、最重要的是&#xff0c;我们如何能够轻松…

从网站抓取数据的3种最佳方法

1.使用网站API 许多大型社交媒体网站&#xff0c;例如Facebook&#xff0c;Twitter&#xff0c;Instagram&#xff0c;StackOverflow&#xff0c;都提供API供用户访问其数据。有时&#xff0c;您可以选择官方API来获取结构化数据。如下面的Facebook Graph API所示&#xff0c;…

谷歌内部泄露:我们和 OpenAI 都赢不了,因为正被“开源”偷家!

整理 | 郑丽媛、出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; 由 ChatGPT 掀起的 AI 大模型之战&#xff0c;已在全球范围内持续了几个月&#xff0c;其中业界尤为关注的&#xff0c;就是 OpenAI 和谷歌二者之间的博弈。 曾经&#xff0c;2017 年率先发布的 Tra…

贾扬清官宣:从阿里离职,或将投身AI创业!

点击下方卡片&#xff0c;关注“CVer”公众号 AI/CV重磅干货&#xff0c;第一时间送达 点击进入—>【计算机视觉】微信技术交流群 转载自&#xff1a;机器之心 贾扬清从阿里巴巴正式毕业&#xff0c;计划走向职业生涯的下一个挑战。 近段时间&#xff0c;ChatGPT 与大模型的…

阿里副总裁贾扬清回应:确认离职,或投身AI架构创业!

来源&#xff1a;机器之心 近段时间&#xff0c;ChatGPT 与大模型的爆火&#xff0c;又吸引了整个科技领域以及投资圈对 AI 的关注。最近也爆出了许多学术界、业界 AI 大佬投身创业潮的消息。 知名人工智能科学家贾扬清从阿里巴巴离职创业的信息也被爆出&#xff0c;贾扬清本人…

【人工智能】大模型基础概念、核心技术、应用场景和未来发展

目录 一、大模型概述 二、大模型的发展历程 三、大模型的核心技术 1. Transformer结

BFT 最前线 | 腾讯发布Q1季报;超2000伙伴测试阿里云通义千问;黄仁勋:芯片是NVIDIA加速与AI计算的的“理想应用”

原创 | 文 BFT机器人 AI视界 TECHNOLOGY NEWS 01 阿里云&#xff1a;超2000伙伴测试通义千问 行业专属大模型将成趋势 2023阿里云常州峰会上&#xff0c;阿里云智能中国区总裁黄海清透露&#xff1a;目前通义千问大模型已有超2000个合作伙伴进行测试。未来大模型面向各行各…

Open AI 新论文:通过“过程监督”来改进数学推理

本文经授权转载自「图灵社区公众号&#xff08;ID&#xff1a;ituring_book&#xff09;」 英文原文链接&#xff1a;https://openai.com/research/improving-mathematical-reasoning-with-process-supervision 我们训练了一个模型&#xff0c;通过对每个正确的推理步骤进行奖励…

下周,GPT-4就要来了!

来源&#xff1a;机器之心 我们知道&#xff0c;引爆如今科技界军备竞赛的 ChatGPT 是在 GPT-3.5 上改进得来的&#xff0c;OpenAI 很早就预告 GPT-4 将会在今年发布。最近各家大厂争相入局的行动似乎加快了这个进程。 最新消息是&#xff0c;万众期待的 GPT-4 下周就要推出了&…

从用户的角度谈GPT时代技术突破的两大关键逻辑

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法…

发送短信功能模块

由于项目在注册、登录、找回密码 时需要发送短信验证的功能&#xff0c;我们使用腾讯云短信做。 为什么要用腾讯云短信呢&#xff1f; 因为注册就送 100条免费短信 的额度。哈哈哈哈&#xff0c;发短信的功能你就不用花钱了。 1.注册腾讯云 & 开通云短信 注册一个腾讯云…

怎么用106短信平台来发送营销短信?手把手教你轻松掌握

现如今&#xff0c;很多商家和企业都有短信发送的需求&#xff0c;因为很许多的企业和商家都需要106短信平台类推广自己最新的产品&#xff0c;以及促销活动等。要知道&#xff0c;短信平台&#xff0c;不仅价格便宜&#xff0c;而且精准获客&#xff0c;那么&#xff0c; 怎么…

个人用户实现发送短信功能

准备工作 因为国家政策 &#xff0c;阿里云和其他的大型短信调用网站审核严格所以我们用比较普通的榛子云来练习短信验证 了解阿里云短信码 登录阿里云&#xff0c;选择短信服务 首先要了解发送短信的四个步骤 进入申请签名&#xff0c;查看大致内容&#xff0c;可以看到这边…

ChatGPT文本自动生成有哪些应用

ChatGPT具有强大的文本生成能力&#xff0c;能够模拟人类的语言和情感表达&#xff0c;对文字工作产生了重要影响。对于我们从事文字工作的小伙伴而言&#xff0c;ChatGPT的出现对我们的影响是首当其冲的&#xff0c;今天跟大家分享ChatGPT在文字创作方面有哪些影响。 自动化文…

简单的小程序聊天对话窗口界面

一个简单的微信小程序聊天对话窗口界面,包括发送文本功能 直接上代码,js代码: // 简单版 Page({data: {content: ,// 当前登录者信息login: {id: 2023,user: 大猪蹄子,avatar: https://img2.baidu.com/it/u1581320883,910100018&fm253&app53&sizew500&n0&…