1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > urlib爬取哔哩哔哩搜索

urlib爬取哔哩哔哩搜索

时间:2023-10-16 01:23:50

相关推荐

urlib爬取哔哩哔哩搜索

使用Python内置的urlib去爬取blbl

python内置的数据库,urlib,话不多说,上代码。

import random import urllib.requestimport urllib.parse #调取三个库urls = '/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) #每循环一次打印一个urlred = 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)

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

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

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。