如何用beautifulsoup通过Python爬取网站上的小姐姐长尾词图片?

2026-04-20 11:011阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1509个文字,预计阅读时间需要7分钟。

如何用beautifulsoup通过Python爬取网站上的小姐姐长尾词图片?

Python具有众多强大的库用于爬虫,如beautifulsoup、requests等。以下以网站https://www.xiurenji.cc/XiuRen/(注意!)为例,讲解网络爬取图片的一般步骤。

选择这个网站的原因是,它提供了大量的图片资源,适合进行爬虫实践。以下是网络爬取图片的一般步骤:

1. 使用requests库获取网页内容。

2.使用beautifulsoup解析网页内容,提取所需图片链接。

3.下载图片到本地。

代码示例:

python

import requestsfrom bs4 import BeautifulSoupimport os

网页地址url='https://www.xiurenji.cc/XiuRen/'

发送请求response=requests.get(url)_content=response.text

解析网页内容soup=BeautifulSoup(_content, '.parser')

提取图片链接image_links=soup.find_all('img')

设置图片保存路径save_path='downloaded_images'

检查文件夹是否存在,不存在则创建if not os.path.exists(save_path): os.makedirs(save_path)

下载图片for i, link in enumerate(image_links): image_url=link.get('src') image_response=requests.get(image_url) image_name=f'image_{i}.jpg' image_path=os.path.join(save_path, image_name) with open(image_path, 'wb') as f: f.write(image_response.content) print(f'已下载图片:{image_name}')

通过以上步骤,您可以成功从指定网站爬取图片并保存到本地。

Python有许多强大的库用于爬虫,如beautifulsoup、requests等,本文将以网站www.xiurenji.cc/XiuRen/为例(慎点!!),讲解网络爬取图片的一般步骤。
为什么选择这个网站?其实与网站的内容无关。主要有两项技术层面的原因:①该网站的页面构造较有规律,适合新手对爬虫的技巧加强认识。②该网站没有反爬虫机制,可以放心使用爬虫。

第三方库需求

  • beautifulsoup
  • requests

步骤

打开网站,点击不同的页面:
发现其首页是www.xiurenji.cc/XiuRen/,而第二页是www.xiurenji.cc/XiuRen/index2.html,第三页第四页以此类推。为了爬虫代码的普适性,我们不妨从第二页以后进行构造url。

选中封面图片,点击检查:

可以发现,图片的信息,都在'div',class_='dan'里,而链接又在a标签下的href里。据此我们可以写一段代码提取出每一个封面图片的url:

def getFirstPage(page): url='www.xiurenji.cc/XiuRen/index'+str(page)+'.html'#获得网站每一个首页的网址 res=requests.get(url)#发送请求 res.encoding="gbk"#设置编码方式为gbk html=res.text soup=BeautifulSoup(html,features='lxml') lists=soup.find_all('div',class_='dan')#找到储存每一个封面图片的标签值 urls=[] for item in lists: url1=item.find('a').get('href')#寻找每一个封面对应的网址 urls.append('www.xiurenji.cc'+url1)#在列表的尾部添加一个元素,达到扩充列表的目的,注意要把网址扩充完整 return urls#返回该主页每一个封面对应的网址

点击封面图片,打开不同的页面,可以发现,首页的网址是www.xiurenji.cc/XiuRen/xxxx.html,而第二页的网址是www.xiurenji.cc/XiuRen/xxxx_1.html,第三第四页同理。同样为了普适性,我们从第二页开始爬取。

右键,点击“检查”:

可以发现所有的图片信息都储存在'div',class_='img'中,链接、标题分别在img标签中的srcalt中,我们同样也可以将它们提取出来。

def getFirstPage(page): url='www.xiurenji.cc/XiuRen/index'+str(page)+'.html'#获得网站每一个首页的网址 res=requests.get(url)#发送请求 res.encoding="gbk"#设置编码方式为gbk html=res.text soup=BeautifulSoup(html,features='lxml') lists=soup.find_all('div',class_='dan')#找到储存每一个封面图片的标签值 urls=[] for item in lists: url1=item.find('a').get('href')#寻找每一个封面对应的网址 urls.append('www.xiurenji.cc'+url1)#在列表的尾部添加一个元素,达到扩充列表的目的,注意要把网址扩充完整 return urls#返回该主页每一个封面对应的网址

完整代码

如何用beautifulsoup通过Python爬取网站上的小姐姐长尾词图片?

import requests from bs4 import BeautifulSoup def getFirstPage(page): url='www.xiurenji.cc/XiuRen/index'+str(page)+'.html'#获得网站每一个首页的网址 res=requests.get(url)#发送请求 res.encoding="gbk"#设置编码方式为gbk html=res.text soup=BeautifulSoup(html,features='lxml') lists=soup.find_all('div',class_='dan')#找到储存每一个封面图片的标签值 urls=[] for item in lists: url1=item.find('a').get('href')#寻找每一个封面对应的网址 urls.append('www.xiurenji.cc'+url1)#在列表的尾部添加一个元素,达到扩充列表的目的,注意要把网址扩充完整 return urls#返回该主页每一个封面对应的网址 def download(urls): for url1 in urls: print("prepare to download pictures in "+url1) getEveryPage(url1)#下载页面内的图片 print("all pictures in "+url1+"are downloaded") def getEveryPage(url1): total=0#total的作用:对属于每一个封面内的图片一次编号 for n in range (1,11):#每一个封面对应下载10张图,可自行调整 temp=url1.replace('.html','') url2=temp+'_'+str(n)+'.html'#获得每一内部页面的网址 res=requests.get(url2) res.encoding="gbk" html=res.text soup=BeautifulSoup(html,features='lxml') lists1=soup.find_all('div',class_='img')#储存图片的路径 for item in lists1: url=item.find('img').get('src') title=item.find('img').get('alt')#获取图片及其标题 picurl='www.xiurenji.cc'+url#获取完整的图片标题 picture=requests.get(picurl).content#下载图片 address='D:\pythonimages'+'\\'#自定义保存图片的路径 with open(address+title+str(total)+'.jpg','wb') as file:#保存图片 print("downloading"+title+str(total)) total=total+1 file.write(picture) if __name__ == "__main__": page=int(input('input the page you want:')) urls=getFirstPage(page) download(urls)

本文仅供学习参考,切勿用作其他用途!

到此这篇关于Python爬取小姐姐图片(beautifulsoup法)的文章就介绍到这了,更多相关Python爬取小姐姐图片内容请搜索易盾网络以前的文章或继续浏览下面的相关文章希望大家以后多多支持易盾网络!

本文共计1509个文字,预计阅读时间需要7分钟。

如何用beautifulsoup通过Python爬取网站上的小姐姐长尾词图片?

Python具有众多强大的库用于爬虫,如beautifulsoup、requests等。以下以网站https://www.xiurenji.cc/XiuRen/(注意!)为例,讲解网络爬取图片的一般步骤。

选择这个网站的原因是,它提供了大量的图片资源,适合进行爬虫实践。以下是网络爬取图片的一般步骤:

1. 使用requests库获取网页内容。

2.使用beautifulsoup解析网页内容,提取所需图片链接。

3.下载图片到本地。

代码示例:

python

import requestsfrom bs4 import BeautifulSoupimport os

网页地址url='https://www.xiurenji.cc/XiuRen/'

发送请求response=requests.get(url)_content=response.text

解析网页内容soup=BeautifulSoup(_content, '.parser')

提取图片链接image_links=soup.find_all('img')

设置图片保存路径save_path='downloaded_images'

检查文件夹是否存在,不存在则创建if not os.path.exists(save_path): os.makedirs(save_path)

下载图片for i, link in enumerate(image_links): image_url=link.get('src') image_response=requests.get(image_url) image_name=f'image_{i}.jpg' image_path=os.path.join(save_path, image_name) with open(image_path, 'wb') as f: f.write(image_response.content) print(f'已下载图片:{image_name}')

通过以上步骤,您可以成功从指定网站爬取图片并保存到本地。

Python有许多强大的库用于爬虫,如beautifulsoup、requests等,本文将以网站www.xiurenji.cc/XiuRen/为例(慎点!!),讲解网络爬取图片的一般步骤。
为什么选择这个网站?其实与网站的内容无关。主要有两项技术层面的原因:①该网站的页面构造较有规律,适合新手对爬虫的技巧加强认识。②该网站没有反爬虫机制,可以放心使用爬虫。

第三方库需求

  • beautifulsoup
  • requests

步骤

打开网站,点击不同的页面:
发现其首页是www.xiurenji.cc/XiuRen/,而第二页是www.xiurenji.cc/XiuRen/index2.html,第三页第四页以此类推。为了爬虫代码的普适性,我们不妨从第二页以后进行构造url。

选中封面图片,点击检查:

可以发现,图片的信息,都在'div',class_='dan'里,而链接又在a标签下的href里。据此我们可以写一段代码提取出每一个封面图片的url:

def getFirstPage(page): url='www.xiurenji.cc/XiuRen/index'+str(page)+'.html'#获得网站每一个首页的网址 res=requests.get(url)#发送请求 res.encoding="gbk"#设置编码方式为gbk html=res.text soup=BeautifulSoup(html,features='lxml') lists=soup.find_all('div',class_='dan')#找到储存每一个封面图片的标签值 urls=[] for item in lists: url1=item.find('a').get('href')#寻找每一个封面对应的网址 urls.append('www.xiurenji.cc'+url1)#在列表的尾部添加一个元素,达到扩充列表的目的,注意要把网址扩充完整 return urls#返回该主页每一个封面对应的网址

点击封面图片,打开不同的页面,可以发现,首页的网址是www.xiurenji.cc/XiuRen/xxxx.html,而第二页的网址是www.xiurenji.cc/XiuRen/xxxx_1.html,第三第四页同理。同样为了普适性,我们从第二页开始爬取。

右键,点击“检查”:

可以发现所有的图片信息都储存在'div',class_='img'中,链接、标题分别在img标签中的srcalt中,我们同样也可以将它们提取出来。

def getFirstPage(page): url='www.xiurenji.cc/XiuRen/index'+str(page)+'.html'#获得网站每一个首页的网址 res=requests.get(url)#发送请求 res.encoding="gbk"#设置编码方式为gbk html=res.text soup=BeautifulSoup(html,features='lxml') lists=soup.find_all('div',class_='dan')#找到储存每一个封面图片的标签值 urls=[] for item in lists: url1=item.find('a').get('href')#寻找每一个封面对应的网址 urls.append('www.xiurenji.cc'+url1)#在列表的尾部添加一个元素,达到扩充列表的目的,注意要把网址扩充完整 return urls#返回该主页每一个封面对应的网址

完整代码

如何用beautifulsoup通过Python爬取网站上的小姐姐长尾词图片?

import requests from bs4 import BeautifulSoup def getFirstPage(page): url='www.xiurenji.cc/XiuRen/index'+str(page)+'.html'#获得网站每一个首页的网址 res=requests.get(url)#发送请求 res.encoding="gbk"#设置编码方式为gbk html=res.text soup=BeautifulSoup(html,features='lxml') lists=soup.find_all('div',class_='dan')#找到储存每一个封面图片的标签值 urls=[] for item in lists: url1=item.find('a').get('href')#寻找每一个封面对应的网址 urls.append('www.xiurenji.cc'+url1)#在列表的尾部添加一个元素,达到扩充列表的目的,注意要把网址扩充完整 return urls#返回该主页每一个封面对应的网址 def download(urls): for url1 in urls: print("prepare to download pictures in "+url1) getEveryPage(url1)#下载页面内的图片 print("all pictures in "+url1+"are downloaded") def getEveryPage(url1): total=0#total的作用:对属于每一个封面内的图片一次编号 for n in range (1,11):#每一个封面对应下载10张图,可自行调整 temp=url1.replace('.html','') url2=temp+'_'+str(n)+'.html'#获得每一内部页面的网址 res=requests.get(url2) res.encoding="gbk" html=res.text soup=BeautifulSoup(html,features='lxml') lists1=soup.find_all('div',class_='img')#储存图片的路径 for item in lists1: url=item.find('img').get('src') title=item.find('img').get('alt')#获取图片及其标题 picurl='www.xiurenji.cc'+url#获取完整的图片标题 picture=requests.get(picurl).content#下载图片 address='D:\pythonimages'+'\\'#自定义保存图片的路径 with open(address+title+str(total)+'.jpg','wb') as file:#保存图片 print("downloading"+title+str(total)) total=total+1 file.write(picture) if __name__ == "__main__": page=int(input('input the page you want:')) urls=getFirstPage(page) download(urls)

本文仅供学习参考,切勿用作其他用途!

到此这篇关于Python爬取小姐姐图片(beautifulsoup法)的文章就介绍到这了,更多相关Python爬取小姐姐图片内容请搜索易盾网络以前的文章或继续浏览下面的相关文章希望大家以后多多支持易盾网络!