使用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)
上图是保存在同目录的网页源码
想要去爬取其他的网页还是先分析一下比较好,我们伪装成浏览器也是为了反爬。
==欢迎点赞关注加收藏==