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


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

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

相关推荐
sensen_kiss6 分钟前
INT303 Coursework1 爬取影视网站数据(如何爬虫网站数据)
爬虫·python·学习
小小张说故事3 小时前
BeautifulSoup:Python网页解析的优雅利器
后端·爬虫·python
一晌小贪欢4 小时前
Python 爬虫进阶:如何利用反射机制破解常见反爬策略
开发语言·爬虫·python·python爬虫·数据爬虫·爬虫python
深蓝电商API5 小时前
爬虫请求频率控制与模拟人类行为
爬虫
喵手5 小时前
Python爬虫实战:知识挖掘机 - 知乎问答与专栏文章的深度分页采集系统(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·采集知乎问答与专栏文章·采集知乎数据·采集知乎数据存储sqlite
禹凕6 小时前
Python编程——进阶知识(多线程)
开发语言·爬虫·python
程序媛徐师姐7 小时前
Python基于爬虫的网络小说数据分析系统【附源码、文档说明】
爬虫·python·python爬虫·网络小说数据分析系统·pytho网络小说数据分析系统·python爬虫网络小说·python爬虫的网络小说数据
jianghua0018 小时前
Python中的简单爬虫
爬虫·python·信息可视化
喵手8 小时前
Python爬虫实战:针对Python官网,精准提取出每一个历史版本的版本号、发布日期以及对应的文档/详情页链接等信息,并最终清洗为标准化的CSV文件!
爬虫·python·爬虫实战·零基础python爬虫教学·python官方数据采集·采集历史版本版本号等信息·导出csv文件
其美杰布-富贵-李8 小时前
爬虫中 XPath 使用完全指南
爬虫·xpath