当前位置: 首页 > news >正文

做游戏网站的前景广州百度快速优化排名

做游戏网站的前景,广州百度快速优化排名,网站规划建设论文,国家建设网站目录 一、前言 二、爬取下载美女图片 1、抓包分析 a、分析页面 b、明确需求 c、抓包搜寻 d、总结特点 2、编写爬虫代码 a、获取图片页网页源代码 b、提取所有图片的链接和标题 c、下载并保存这组图片 d、 爬取目录页的各种类型美女图片的链接 e、实现翻页 三、各…

目录

一、前言

二、爬取下载美女图片

1、抓包分析

a、分析页面

b、明确需求

c、抓包搜寻

d、总结特点

2、编写爬虫代码

a、获取图片页网页源代码

b、提取所有图片的链接和标题

c、下载并保存这组图片

d、 爬取目录页的各种类型美女图片的链接

e、实现翻页

三、各种需求的爬虫代码

1、下载所有美女图片 

2、下载想要页码范围内的美女图片

3、下载想要类型的美女图片

a、下载想要类型的所有美女图片

b、下载想要类型的想要页码范围的美女图片


一、前言

        回车桌面网(https://www.enterdesk.com/)是一个具备各种精美图片的网站,里面包含各种丰富的图片资源。此处,将详细讲解爬取其中美女图片资源将其下载到本地。看懂本篇内容后,自己也可以爬取其中想要的类型图片。

回车桌面的首页:

        此处仅爬取所框选中的美女图片,看懂本篇后,自己也能做到爬取其他类型的图片!!!

二、爬取下载美女图片

1、抓包分析

        爬虫的第一步都是抓包分析(也就是分析网页,从网页源代码中找到自己想要的内容)。

a、分析页面

(1)在回车桌面中点击美女跳转到美女图片的网页

(2)在美女图片页面中,可以看到有各种类型的美女图片和下一页按钮。

(3)点击一种类型的美女图片会跳转到该种类型的美女图片的具体图片界面

(4)点击下一页会跳转到另一页的美女图片页面,里面包含其他的类型的美女图片

(5)在美女图片页面中还有分类标签,点击一种风格类型,则会跳转到该种类型风格的美女图片

美女网页:

各种类型的美女图片: 

 美女页面的下一页所在位置:

一种类型美女图片的页面:

b、明确需求

        根据上面的页面分析,可以明确以下需求:

  • 要获取到下一页的url所在页面源代码的位置
  • 要获取到每种类型美女图片的url
  • 要找到一种类型美女的各种图片下载的url
  • 对美女网页进行requests请求,需要有请求头,找到请求网页的url、user-agent、cookie等信息
  • 找到各种分类标签的url

c、抓包搜寻

        根据以上需求,分析网页源代码,找到想要的内容。

步骤:

  1. 在美女页面,按下F12,打开开发者界面
  2. 点击开发者界面左上角的鼠标箭头
  3. 将箭头移到在美女页面的一种类型的美女图片上并点击一下
  4. 在开发者界面将会出现此部分的网页源代码

        通过以上步骤,抓包寻找,可以分别找到需求部分所要内容: 

  • 要获取到下一页的url所在页面源代码的位置
  • 要获取到每种类型美女图片的url
  • 要找到一种类型美女的各种图片下载的url
  • 对美女网页进行requests请求,需要有请求头,找到请求网页的url、user-agent、cookie等信息
  • 找到各种分类标签的url

d、总结特点

          经过抓包搜寻,可以发现:

  • 美女页面每一页的url的构造为:以数字进行标记页码
'https://m.mm.enterdesk.com/1.html'
'https://m.mm.enterdesk.com/2.html'
'https://m.mm.enterdesk.com/3.html'
'https://m.mm.enterdesk.com/4.html'
'https://m.mm.enterdesk.com/5.html'....
'https://m.mm.enterdesk.com/262.html'
'https://m.mm.enterdesk.com/264.html'
  • 美女页面的标签的url的构造为:以风格类型的中文拼音+meinv
'https://mm.enterdesk.com/dalumeinv/'
'https://mm.enterdesk.com/rihanmeinv/'
'https://mm.enterdesk.com/gangtaimeinv/'
'https://mm.enterdesk.com/dongmanmeinv/'
'https://mm.enterdesk.com/qingchunmeinv/'
'https://mm.enterdesk.com/oumeimeinv/'
  • 其他的url需要通过xPath来定位,根据所在位置的特点来定位
美女页面的各种类型的美女图片链接xPath定位://div[@class="mbig_pic_list_li"]//dd//a/@href
一种类型美女图片的标题xPath定位://h1[@class="m_h1"]/a/text()
一种类型美女图片的图片的urlxPath定位://div[@class="swiper-wrapper"]//img/@src

2、编写爬虫代码

        根据上面的抓包分析,可以编写爬虫代码。

具体代码思路为:

1. 获取图片页网页源代码
2. 提取所有图片的链接和标题
3. 下载并保存这组图片
4.
 爬取目录页的各种类型美女图片的链接
5. 实现翻页下载

a、获取图片页网页源代码

import os.path
from lxml import etree
import requests
# 1、获取回车桌面美女图片的网页源代码
header = {'User-Agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Mobile Safari/537.36','cookie':'Hm_lvt_86200d30c9967d7eda64933a74748bac=1707274876; t=8207bbae9940b5f445e4f3aa1907d202; r=9737; Hm_lpvt_86200d30c9967d7eda64933a74748bac=1707276063'}
index_url = 'https://m.mm.enterdesk.com/'
r = requests.get(index_url, headers=header)

b、提取所有图片的链接和标题

def get_curindex_titlecontent(index_url):r = requests.get(index_url, headers=header)html = etree.HTML(r.text)titles = html.xpath('//h1[@class="m_h1"]/a/text()')pictures = html.xpath('//div[@class="marc_pandn"]//div[@class="swiper-slide"]//img/@src')return titles, pictures

c、下载并保存这组图片

def updownload(index_url):titles,pictures = get_curindex_titlecontent(index_url)titles = titles[0]# 创建目录if not os.path.exists(f'图片/{titles}/'):os.makedirs(f'图片/{titles}')num = 1for link in pictures:r = requests.get(link, headers=header).contentwith open(f'图片/{titles}/{titles}{num}.jpg', 'wb') as f:f.write(r)print(f"已下载...{titles}...编号为{num}的图片")num+=1

d、 爬取目录页的各种类型美女图片的链接

def get_curindex_links(index_url):r = requests.get(index_url, headers=header)html = etree.HTML(r.text)links = html.xpath('//div[@class="mbig_pic_list_li"]//dd//a/@href')return links

e、实现翻页

def get_nextindex_links(index_url):r = requests.get(index_url, headers=header)html = etree.HTML(r.text)links = html.xpath('//div[@class="listpages"]//a[@class="next_p"]/@href')return links

三、各种需求的爬虫代码

1、下载所有美女图片 

        由于美女图片数量较大,不建议使用这种情况。

思路:想要下载所有图片。在第一页的美女页面,下载完这一页图片后,通过获取下一页的链接,来刷新到第二页的美女页面,继续下载第二页的美女图片。然后继续获取下一页来刷新,直到下载到最后一页。最后一页是没有下一页的链接的,所以到了最后一页,获取下一页的代码会报错。但是没有关系,这里已经下载完了所有美女图片。

代码如下:

import os.path
from lxml import etree
import requests
# 1、获取回车桌面美女图片的网页源代码
header = {'User-Agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Mobile Safari/537.36','cookie':'Hm_lvt_86200d30c9967d7eda64933a74748bac=1707274876; t=8207bbae9940b5f445e4f3aa1907d202; r=9737; Hm_lpvt_86200d30c9967d7eda64933a74748bac=1707276063'}
index_url = 'https://m.mm.enterdesk.com/'
r = requests.get(index_url, headers=header)
# 2、获取当前回车桌面美女页面的各种美女类型图片的链接
def get_curindex_links(index_url):r = requests.get(index_url, headers=header)html = etree.HTML(r.text)links = html.xpath('//div[@class="mbig_pic_list_li"]//dd//a/@href')return links
# 3、获取下一页的美女页面链接
def get_nextindex_links(index_url):r = requests.get(index_url, headers=header)html = etree.HTML(r.text)links = html.xpath('//div[@class="listpages"]//a[@class="next_p"]/@href')return links
# 4、获取一种美女类型的图片及类型名
def get_curindex_titlecontent(index_url):r = requests.get(index_url, headers=header)html = etree.HTML(r.text)titles = html.xpath('//h1[@class="m_h1"]/a/text()')pictures = html.xpath('//div[@class="swiper-wrapper"]//img/@src')return titles, pictures
# 5、将图片进行下载保存到新的目录中
def updownload(index_url):titles,pictures = get_curindex_titlecontent(index_url)titles = titles[0]# 创建目录if not os.path.exists(f'图片/{titles}/'):os.makedirs(f'图片/{titles}')num = 1for link in pictures:r = requests.get(link, headers=header).contentwith open(f'图片/{titles}/{titles}{num}.jpg', 'wb') as f:f.write(r)print(f"已下载...{titles}...编号为{num}的图片")num+=1
# 6、根据顺序来调整调用顺序
# a、获取各种类型美女图片的链接
num = 1
a = 1
while 1:links = get_curindex_links(index_url)print(f"正在下载第{num}页")print(f"下载链接为:{index_url}")for link in links:
# b、获取其中一个链接的内容和标题并下载保存print(f"正在下载第{a}种类型的美女图片")updownload(link)a+=1num+=1next_page = get_nextindex_links(index_url)# 将列表转换成字符串index_url ="".join(next_page)

部分运行结果截图 :

2、下载想要页码范围内的美女图片

        根据前面的总结特点,美女目录页面是根据1,2,3,4...来标记当前是第几页的。据此,可以通过读取键盘消息来下载自己想要范围内的美女图片。

代码如下:

import os.path
from lxml import etree
import requests
# 1、获取回车桌面美女图片的网页源代码
header = {'User-Agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Mobile Safari/537.36','cookie':'Hm_lvt_86200d30c9967d7eda64933a74748bac=1707274876; t=8207bbae9940b5f445e4f3aa1907d202; r=9737; Hm_lpvt_86200d30c9967d7eda64933a74748bac=1707276063'}
index_url = 'https://m.mm.enterdesk.com/'
r = requests.get(index_url, headers=header)
# 2、获取当前回车桌面美女页面的各种美女类型图片的链接
def get_curindex_links(index_url):r = requests.get(index_url, headers=header)html = etree.HTML(r.text)links = html.xpath('//div[@class="mbig_pic_list_li"]//dd//a/@href')return links
# 3、获取一种美女类型的图片及类型名
def get_curindex_titlecontent(index_url):r = requests.get(index_url, headers=header)html = etree.HTML(r.text)titles = html.xpath('//h1[@class="m_h1"]/a/text()')pictures = html.xpath('//div[@class="swiper-wrapper"]//img/@src')return titles, pictures
# 4、将图片进行下载保存到新的目录中
def updownload(index_url):titles,pictures = get_curindex_titlecontent(index_url)titles = titles[0]# 创建目录if not os.path.exists(f'图片/{titles}/'):os.makedirs(f'图片/{titles}')num = 1for link in pictures:r = requests.get(link, headers=header).contentwith open(f'图片/{titles}/{titles}{num}.jpg', 'wb') as f:f.write(r)print(f"已下载...{titles}...编号为{num}的图片")num+=1
# 5、根据顺序来调整调用顺序
# a、获取各种类型美女图片的链接
a = 1
# 输入自己想要的页码范围内的美女图片
x = input("请输入起始页的页码:")
y = input("请输入结束页的页码:")
# 因为range函数是左闭右开的情况,所以y需要自增1
for page in range(int(x), int(y)+1):new_index = index_url + str(page) + '.html'links = get_curindex_links(new_index)print(f"正在下载第{page}页")print(f"下载链接为:{new_index}")for link in links:# b、获取其中一个链接的内容和标题并下载保存print(f"正在下载第{a}种类型的美女图片")updownload(link)a+=1

部分运行结果截图:

3、下载想要类型的美女图片

        根据前面总结特点,可知各种标签的美女类型的url是通过输入中文拼音+meinv来进行标记的。则,可以通过读取键盘输入美女类型来下载想要类型的美女图片。这种情况下,存在两种需求。一是下载想要类型的所有的美女图片,二是下载想要类型的想要页码范围的美女图片。

a、下载想要类型的所有美女图片

代码如下:

import os.path
from lxml import etree
import requests
# 1、获取回车桌面美女图片的网页源代码
header = {'User-Agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Mobile Safari/537.36','cookie':'Hm_lvt_86200d30c9967d7eda64933a74748bac=1707274876; t=8207bbae9940b5f445e4f3aa1907d202; r=9737; Hm_lpvt_86200d30c9967d7eda64933a74748bac=1707276063'}
index_url = 'https://m.mm.enterdesk.com/'
r = requests.get(index_url, headers=header)
# 2、获取当前回车桌面美女页面的各种美女类型图片的链接
def get_curindex_links(index_url):r = requests.get(index_url, headers=header)html = etree.HTML(r.text)links = html.xpath('//div[@class="mbig_pic_list_li"]//dd//a/@href')return links
# 3、获取下一页的美女页面链接
def get_nextindex_links(index_url):r = requests.get(index_url, headers=header)html = etree.HTML(r.text)links = html.xpath('//div[@class="listpages"]//a[@class="next_p"]/@href')return links
# 4、获取一种美女类型的图片及类型名
def get_curindex_titlecontent(index_url):r = requests.get(index_url, headers=header)html = etree.HTML(r.text)titles = html.xpath('//h1[@class="m_h1"]/a/text()')pictures = html.xpath('//div[@class="marc_pandn"]//div[@class="swiper-slide"]//img/@src')return titles, pictures
# 5、将图片进行下载保存到新的目录中
def updownload(index_url):titles,pictures = get_curindex_titlecontent(index_url)titles = titles[0]# 创建目录if not os.path.exists(f'图片/{keyword}/{titles}/'):os.makedirs(f'图片/{keyword}/{titles}')num = 1for link in pictures:r = requests.get(link, headers=header).contentwith open(f'图片/{keyword}/{titles}/{titles}{num}.jpg', 'wb') as f:f.write(r)print(f"已下载...{titles}...编号为{num}的图片")num+=1
# 6、根据键盘的输入来下载想要类型的美女图片
# a、读取键盘消息
keyword = input("请输入想要下载的类型的美女图片(中文拼音):")
index_url = index_url + keyword
num = 1
a = 1
while 1:links = get_curindex_links(index_url)print(f"正在下载第{num}页")print(f"下载链接为:{index_url}")for link in links:
# b、获取其中一个链接的内容和标题并下载保存print(f"正在下载第{a}种类型的美女图片")updownload(link)a+=1num+=1next_page = get_nextindex_links(index_url)# 将列表转换成字符串index_url ="".join(next_page)

部分截图如下: 

b、下载想要类型的想要页码范围的美女图片

代码如下:

import os.path
from lxml import etree
import requests
# 1、获取回车桌面美女图片的网页源代码
header = {'User-Agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Mobile Safari/537.36','cookie':'Hm_lvt_86200d30c9967d7eda64933a74748bac=1707274876; t=8207bbae9940b5f445e4f3aa1907d202; r=9737; Hm_lpvt_86200d30c9967d7eda64933a74748bac=1707276063'}
index_url = 'https://m.mm.enterdesk.com/'
r = requests.get(index_url, headers=header)
# 2、获取当前回车桌面美女页面的各种美女类型图片的链接
def get_curindex_links(index_url):r = requests.get(index_url, headers=header)html = etree.HTML(r.text)links = html.xpath('//div[@class="mbig_pic_list_li"]//dd//a/@href')return links
# 3、获取一种美女类型的图片及类型名
def get_curindex_titlecontent(index_url):r = requests.get(index_url, headers=header)html = etree.HTML(r.text)titles = html.xpath('//h1[@class="m_h1"]/a/text()')pictures = html.xpath('//div[@class="swiper-wrapper"]//img/@src')return titles, pictures
# 4、将图片进行下载保存到新的目录中
def updownload(index_url):titles,pictures = get_curindex_titlecontent(index_url)titles = titles[0]print(titles)# 创建目录if not os.path.exists(f'图片/{keyword}/{titles}/'):os.makedirs(f'图片/{keyword}/{titles}')num = 1for link in pictures:r = requests.get(link, headers=header).contentwith open(f'图片/{keyword}/{titles}/{titles}{num}.jpg', 'wb') as f:f.write(r)print(f"已下载...{titles}...编号为{num}的图片")num+=1
# 5、根据键盘的输入来下载想要类型的美女图片
# a、读取键盘消息
keyword = input("请输入想要下载的类型的美女图片(中文拼音):")
index_url = index_url + keyword +'/'
# 输入自己想要的页码范围内的美女图片
x = input("请输入起始页的页码:")
y = input("请输入结束页的页码:")
# 因为range函数是左闭右开的情况,所以y需要自增1
for page in range(int(x), int(y)+1):new_index = index_url + str(page) + '.html'links = get_curindex_links(new_index)print(f"正在下载第{page}页")print(f"下载链接为:{new_index}")for a, link in enumerate(links):# b、获取其中一个链接的内容和标题并下载保存print(f"正在下载第{page}页的第{a}种类型的美女图片")updownload(link)

部分截图如下:     

http://www.yidumall.com/news/77703.html

相关文章:

  • 做网站怎么去进行链接公司seo营销
  • 南通公安门户网站chatgpt 网址
  • 公共资源交易网站建设方案seo怎么收费seo
  • 网站域名改版百度上海分公司地址
  • 网站的建设求职简历搜索引擎优化时营销关键词
  • wordpress 前端表单长春seo代理
  • 网站开发技术是seo优化与品牌官网定制
  • 视频网站开发有哪些功能长沙百度
  • 用discuz做的门户网站公众号软文范例100
  • 网站设计师培训中心常用的关键词挖掘工具有哪些
  • 建设网站建设爱战网关键词工具
  • 网站怎么做移动图片不显示2023最火的十大新闻
  • 深圳网站建设 设计科技百度用户服务中心客服电话
  • 齐齐哈尔铁峰建设局网站关键词什么意思
  • wordpress会员限制关键词排名优化报价
  • 那些因素会影响网站的排名位置网页设计框架
  • 无锡做网站设计的公司商品营销推广的方法有哪些
  • 电商平台正在建设中网站页面公司推广策划
  • 广告策划书包括什么内容搜索引擎优化策略有哪些
  • 网站搭建招标方案公司网站推广技巧
  • 雅安做网站的公司深圳网站seo优化
  • 做网站切图软件品牌整合营销案例
  • 推荐微网站建设网站标题算关键词优化吗
  • 青岛网站建设最便宜网站模板之家
  • 做的比较好的卡车网站搜索引擎推广简称
  • 中国网站建设公司有哪些方面淘宝优化关键词的步骤
  • 做精神科网站每日新闻简报
  • wordpress链接前面的图标关键词优化资讯
  • 营销策划公司职位百度关键词优化多久上首页
  • 北京市住房建设网站优化公司哪家好