urlib爬取哔哩哔哩搜索

使用Python内置的urlib去爬取blbl

  • python内置的数据库,urlib,话不多说,上代码。
import random 
import urllib.request
import urllib.parse   #调取三个库
urls = 'https://search.bilibili.com/all?'
#我们先为装成浏览器去爬取blbl,下面这个是浏览器内核
headers_list = [{ 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36'},{'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11'}]
#random.choice随机取出来一个内核
headers = random.choice(headers_list)
name = input('请输入要搜索的b站内容')  #输入需要搜索的
start = int(input('请输入起始页数'))
end = int(input('请输入结束页'))
keyword = {'keyword':name}   # 把我们输入的转化成字典,你可能需要先去分析url
 #之后我们就可以把输入的内容转化成16进制的代码了,大部分搜索都是把文字转换成16进制的代码块
keyword = urllib.parse.urlencode(keyword)  
#拼接url,分析网页把网页里提到的url拼接到一起,当然还需要分析一下每页的url变化
for a in range(start,end+1):   #据我分析blbl搜索的就是每一页都是&page=2这这种,一页对应一个数
    url = urls + keyword + '&page='+str(a)
    print(url)   #每循环一次打印一个url
    red = urllib.request.Request(url,headers=headers)
    res = urllib.request.urlopen(red)
    hell = res.read().decode('utf-8')
    filename = '第' + str(a) + '页.html' 

    with open(filename,'w',encoding='utf-8') as f:   #循环一次就保存一次网页源代码。

        print('正在爬取第%d页'%a)   ##显示一下爬取到第几页了
        f.write(hell)

在这里插入图片描述
在这里插入图片描述

  • 上图是保存在同目录的网页源码

  • 想要去爬取其他的网页还是先分析一下比较好,我们伪装成浏览器也是为了反爬。

      							==欢迎点赞关注加收藏==
    

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值