网址:人文景观_图片_高清人文景观壁纸-回车桌面
||由于这种网站是第一层放着只是放着单个链接(不太清楚的图片链接)然后打开获取其中单个稍微清楚的链接,这个链接也是不清楚的图片的链接,从这个网也源代码取大图的链接
ps:最好写一个time.sleep(3)来更改访问时间,防止被拉黑
爬取的总的源代码:
# .jpg #大图链接
# .jpg #小图链接 这里从网页源代码中找到大小图的链接来比较,找到不同处,然后更改
import os #这个是新建文件夹的库
import time #设定访问时间长短
#导入请求网页的库
import re #导入使用正则表达式需要的库
from bs4 import BeautifulSoup #导入BeautifulSoup 这个库是来解析的库baseurl = "/"
head = {"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36 Edg/95.0.1020.44"
} #防着第一遍就访问不去网页
# wd()) #这一条命令可以显示当前所在目录
#请求网页
requ1 = quest.Request(url=baseurl,headers=head)
#对请求网页进行打开
resp1 = quest.urlopen(requ1)
#对返回的网页源代码实行中文类似的解码
html1 = ad().decode('utf-8')
#对上面的字符类型的网页源代码进行解析,可以是电脑识别
soup1 = BeautifulSoup(html1,'html.parser')
# print(soup) #可以测试是否可以接收到网页源代码# 这里在当前目录下新建一个名为图片的目录来存储获取到的图片
dir_name = '图片'
if not ists(dir_name):os.mkdir(dir_name)time.sleep(1) #这里设置一个访问时长,防止把网页服务器爬崩
#从网页中获取第一个类似相册的图片的网页源代码
links1 = repile(r'<a href="(.*?)"') #正则来匹配第一个图片的
for item in soup1.find_all("div",class_="egeli_pic_li"):item = str(item)try: #这里添加异常处理是因为网页图片太多,需要向下滑动才能刷新,后面加载不出来,所以加一个异常处理link1 = re.findall(links1,item)[0] #从网页源代码中查找每个链接# print(link)except(IndexError):pass#对获取的第一层链接,进行上述操作获取第二步的小图链接requ2 = quest.Request(url=link1,headers=head)resp2 = quest.urlopen(requ2)html2 = ad().decode('utf-8')soup2 = BeautifulSoup(html2,'html.parser')# print(soup2)links2 = repile(r'src
本文发布于:2024-02-05 07:04:58,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170726964064251.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |