爬虫部分知识点(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,这就是我的完整代码。其中的一些操作我就不解释了,如果遇到问题,欢迎随时和我讨论。


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

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

相关推荐
电商API_180079052471 天前
构建高效可靠的电商 API:设计原则与实践指南
运维·服务器·爬虫·数据挖掘·网络爬虫
waterHBO2 天前
python 爬虫工具 mitmproxy, 几问几答,记录一下
开发语言·爬虫·python
武子康2 天前
AI炼丹日志-28 - Audiblez 将你的电子书epub转换为音频mp3 做有声书
人工智能·爬虫·gpt·算法·机器学习·ai·音视频
AIGC_北苏2 天前
DrissionPage爬虫包实战分享
爬虫·python·drissionpage
华科云商xiao徐2 天前
增量式网络爬虫通用模板
爬虫
仟濹2 天前
「数据分析 - Pandas 函数」【数据分析全栈攻略:爬虫+处理+可视化+报告】
爬虫·数据分析·pandas
爬虫程序猿3 天前
利用 Python 爬虫获取淘宝商品详情
开发语言·爬虫·python
FAQEW3 天前
爬虫的几种方式(使用什么技术来进行一个爬取数据)
爬虫·python
cooldream20093 天前
利用 Scrapy 构建高效网页爬虫:框架解析与实战流程
爬虫·scrapy·架构
Dxy12393102163 天前
DrissionPage调试工具:网页自动化与数据采集的革新利器
爬虫·python·drissionpage