暑期的Python爬虫课要求做出一个爬虫,正好挂到何大佬的网站上露个头
必应壁纸(.cn)好用但是一直没有搜索功能,这次用爬虫简单做了一个搜索功能,根据关键字来打印对应的链接,然后进入链接使用必应的下载即可
下面直接粘上初学者代码…
其中:requests库需要用户在cmd窗口下 pip install requests 安装;re(正则表达式库)已经包含在python3里
#抓取必应壁纸主页的内容 import requests import re headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36'} #使用Headers来进行伪装,否则直接用爬虫访问必应壁纸会出现403禁止访问 strr="" #空列表准备储存符合条件的链接 print("请输入查询词:") sear=input() #这里输入查询词 for i in range(1,33): #这里range是查询范围,可以根据需要来修改,这里是查询1-32个网页 if(i==1): r = requests.get('https://bing.ioliu.cn/',headers=headers) else: string='https://bing.ioliu.cn/'+'?p='+str(i) print(string) r=requests.get(string,headers=headers) type(r) r.status_code r.encoding r.encoding='utf-8' r.apparent_encoding r.encoding = r.apparent_encoding #这里是一系列的将目标网页编码转utf-8的操作 p_info = '<div class="card progressive">(.*?)</h3>' info=re.findall(p_info, r.text, re.S) #抓取图片描述前后的链接,过滤掉网页其他部分的HTML文本 inhr=[] for ins in info: if(sear in ins): #这里以大象为例,采集大象的壁纸 print(ins) print('\n') p_href='href="(.*?)"' #这个正则表达式则提取真正的图片链接 inhr=re.findall(p_href,ins) print(inhr) print('\n') for inh in inhr: x=0 strr+='https://bing.ioliu.cn'+inhr[0]+'\n' #将所有的链接拼接在一起 x=x+1 print(' ') print(' ') print('查询链接如下:') print(strr) #打印链接
python对缩进要求实在是太高了,还好VS-code有舒服的自动对齐,但是暑期是用jupyternotebook讲的,VS-code的jupyter插件没有对齐竖线,还挺麻烦的…但是jupyter的编排也是真的舒服…
wow666,这就去爬P站
http://cloud.sdu.edu.cn 使用学校提供的免费云超算运行juypter貌似十分的方便,什么都不用下载…
这个要怎么登陆啊,好像登不了
点击二维码下面那个Scan RCode to login就出来学校那个统一认证平台了