爬虫部分知识点(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从业者14 小时前
《Go 语言高并发爬虫开发:淘宝商品 API 实时采集与 ETL 数据处理管道》
开发语言·后端·爬虫·golang
一个天蝎座 白勺 程序猿1 天前
Python爬虫(3)HTML核心技巧:从零掌握class与id选择器,精准定位网页元素
前端·爬虫·html
jiaoxingk1 天前
有关爬虫中数据库的封装——单线程爬虫
数据库·爬虫·python·mysql
知识中的海王2 天前
猿人学web端爬虫攻防大赛赛题第15题——备周则意怠-常见则不疑
爬虫·python
小白学大数据2 天前
如何避免爬虫因Cookie过期导致登录失效
开发语言·爬虫·python·scrapy
奋斗者1号2 天前
《Crawl4AI 爬虫工具部署配置全攻略》
网络·爬虫
Python×CATIA工业智造2 天前
爬虫技术入门:基本原理、数据抓取与动态页面处理
爬虫·python·pycharm
K哥爬虫2 天前
【验证码逆向专栏】某采购网,360 磐云盾、文字点选验证码逆向分析
爬虫
一个天蝎座 白勺 程序猿2 天前
Python爬虫(8)Python数据存储实战:JSON文件读写与复杂结构化数据处理指南
爬虫·python·json
Star abuse2 天前
Python爬虫课程实验指导书
开发语言·爬虫·python