爬虫部分知识点(1)

前言:这只是我自己的随笔,专业性不高,不允许搬运。

一.爬虫概念

网络爬虫也叫网络蜘蛛,特指一类自动批量下载网络资源的程序,这是一个比较口语化的概念。

来个 专业一点的,网络爬虫是伪装成客户端于服务端进行数据交互的程序。

二.作用

网络爬虫的作用有很多,比如数据采集,搜索引擎,模拟操作。

三.示例

接下来我来写一个原生爬虫,不高级,但是可以让大家理解爬虫的原理。

这个代码的内容是:爬取虎牙直播,并获取主播人气排行(一直在变动,所以每个人的结果可能都不一样)

话不多说,上操作:

我是把代码封装在类里面,通过调用的方式来得到结果。

代码如下:

python 复制代码
# 原生爬虫,爬取虎牙直播,并对主播人气排序
import re
import gzip
from io import BytesIO
from urllib.request import urlopen
class HuYaSpider:
    def __init__(self,url):
        self.url = url

# 1.获取爬取目标网站的网址url
    def scrawl(self):
        source = urlopen(self.url)
        sourceRead = source.read()
        buff = BytesIO(sourceRead)
        f = gzip.GzipFile(fileobj=buff)
        html = f.read().decode('utf8')
        return html


# 2.发送请求request,爬取网站内容
# 3.获取服务器返回资源response,分析并获取目标内容
    def analysis(self):
        html = self.scrawl()
        nickNames = re.findall('<i class="nick" title="(.*?)">',html)
        popNums = re.findall('<i class="js-num">(.*?)</i>',html)
        return nickNames,popNums
# 4.排序,获取主播人气排行
    def sortHuya(self):
        nickNames, popNums = self.analysis()
        popularNums = []
        for popNum in popNums:
            if "万" in popNum:
                popNum = popNum.replace("万","").replace(",","")
                popNum = float(popNum) * 10000
                popularNums.append(popNum)
            else:
                popNum = popNum.replace(",","")
                popularNums.append(popNum)
        huyapaixv = zip(nickNames,popularNums)
        huyaSort = sorted(huyapaixv,key = lambda x:x[1],reverse=True)
        return huyaSort
        # return popularNums

这是封装的部分,接下来是调用这个类里面的方法。

python 复制代码
from 爬虫 import HuYaSpider
huyaSpider = HuYaSpider("https://www.huya.com/l")
# 调用类里面的方法
huyaSpider.scrawl()
result = huyaSpider.sortHuya()
print(result)

ok,这就是我的完整代码。其中的一些操作我就不解释了,如果遇到问题,欢迎随时和我讨论。


好了,这篇我就只写这么多,并不是我不想多写,而是爬虫本身的成分复杂,我怕误写一些不该写的,爬虫这部分我也只会写几篇。

下一篇继续,蓝桥杯启动!

相关推荐
zhousenshan9 小时前
Python爬虫常用框架
开发语言·爬虫·python
deepwater_zone11 小时前
网络爬虫(web crawler)
爬虫
华科云商xiao徐19 小时前
告别IP被封!分布式爬虫的“隐身”与“分身”术
爬虫·数据挖掘·数据分析
q567315231 天前
告别低效:构建健壮R爬虫的工程思维
开发语言·爬虫·r语言
一个天蝎座 白勺 程序猿1 天前
Python爬虫(47)Python异步爬虫与K8S弹性伸缩:构建百万级并发数据采集引擎
爬虫·python·kubernetes
华科云商xiao徐2 天前
告别低效:构建健壮R爬虫的工程思维
爬虫
熊猫钓鱼>_>3 天前
2025反爬虫之战札记:从robots.txt到多层防御的攻防进化史
开发语言·c++·爬虫
Blurpath3 天前
如何利用静态代理IP优化爬虫策略?从基础到实战的完整指南
爬虫·网络协议·ip代理·住宅代理
wjayg2253 天前
网络爬虫是自动从互联网上采集数据的程序
爬虫
IT毕设实战小研3 天前
2026届大数据毕业设计选题推荐-基于大数据旅游数据分析与推荐系统 爬虫数据可视化分析
大数据·人工智能·爬虫·机器学习·架构·数据分析·课程设计