IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 爬取游民福利,搞了一堆美女图片,代码奉上,多张福利 -> 正文阅读

[Python知识库]爬取游民福利,搞了一堆美女图片,代码奉上,多张福利

点赞再看,养成习惯

目录

展示成果:

分析网站

总结下:

技术分析

注:图片下载可运行

遇到的困难

未解决的问题:


因为想要爬取一些福利图片,花了差不多1个半小时的时间写了这个图片的爬虫,虽然还是有些问题,但是能爬下来图片就够了,下面开始聊一下,

展示成果:

图片

注:这只是一页的数据,网站总共有262 页哦

分析网站

目标网站:

游民星空的游民福利,基本上是一些美女图片,LSP喜欢,废话不多说,开始吧

Url 如下:https://www.gamersky.com/ent/xz/

打开网址,选择自己想要查看的,右键 -> 检查,就可以直接查看到对应的html 代码。

href 就是对应的链接

分析下url找个每个详情页的地址

图片

进入到详情页查看每个图片的url

图片

最终找到图片的详细地址

图片

总结下:

  • 对首页进行分析,找到详情页的url

  • 对详情页进行分析,找到图片的url

  • 打开url,找到图片

  • 每个详情页的的第一页就是url ,第二页就是url_2.shtml

技术分析

之前没写过爬虫,所以技术上没有什么经验,但是爬虫领域python是最火的,所以果断放弃Java,选择python,有段时间没写python了,有点生疏了,管他呐,不会就查,开干!!!

选择的IDE 是pycharm ,因为习惯了idea

python 是选择了3.9的版本,随便下的

使用的库是BeautifulSoup 和 requests

直接上代码:

import?time

import?requests
from?bs4?import?BeautifulSoup

def?get_content(url):
? ?try:
? ? ? ?user_agent?=?'Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0'
? ? ? ?response?=?requests.get(url,?headers={'User-Agent':?user_agent})
? ? ? ?response.raise_for_status() ?# 如果返回的状态码不是200, 则抛出异常;
? ? ? ?response.encoding?=?response.apparent_encoding??# 判断网页的编码格式, 便于respons.text知道如何解码;
? ?except?Exception?as?e:
? ? ? ?print("爬取错误")
? ?else:

? ? ? ?print(response.url)
? ? ? ?print("爬取成功!")
? ? ? ?return?response.content

def?save_img(img_src):
? ?if?img_src?is?None:
? ? ? ?return
? ?try:
? ? ? ?print(img_src)
? ? ? ?urlArr?=?img_src.split('?')
? ? ? ?if?len(urlArr) ==?2:
? ? ? ? ? ?url?=?urlArr[1]
? ? ? ?else:
? ? ? ? ? ?url?=?urlArr[0]
? ? ? ?headers?= {"User-Agent":?'Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0'}
? ? ? ?# 注意 verify 参数设置为 False ,不验证网站证书
? ? ? ?requests.packages.urllib3.disable_warnings()
? ? ? ?res?=?requests.get(url=url,?headers=headers,?verify=False)
? ? ? ?data?=?res.content
? ? ? ?filePath?=?"D:\\pic\\"+?str(int(time.time()))?+".jpg"
? ? ? ?with?open(filePath,?"wb+")?as?f:
? ? ? ? ? ?f.write(data)
? ?except?Exception?as?e:
? ? ? ?print(e)
def?downloadImg(sigleArticle):
? ?if?sigleArticle?is?None:
? ? ? ?return
? ?# 实例化soup对象, 便于处理;
? ?soup?=?BeautifulSoup(sigleArticle,?'html.parser')

? ?imgList?=?soup.find_all('p',class_?="GsImageLabel")
? ?for?img?in??imgList:
? ? ? ?atag?=?img.find('a')
? ? ? ?if?atag:
? ? ? ? ? ?save_img(atag['href'])

def?getAllArticle(content):
? ?# 实例化soup对象, 便于处理;
? ?soup?=?BeautifulSoup(content,?'html.parser')
? ?divObj?=?soup.find_all('div',?class_="tit")
? ?for?item?in?divObj:
? ? ? ?link?=?item.find('a')
? ? ? ?if?link:
? ? ? ? ? ?articleUrl?=?link['href']
? ? ? ? ? ?sigleArticle?=?get_content(articleUrl)
? ? ? ? ? ?downloadImg(sigleArticle)
? ? ? ? ? ?arr?=?articleUrl.split(".shtml")
? ? ? ? ? ?for?i?in?range(2,10):
? ? ? ? ? ? ? ?url?=?arr[0]+"_"?+str(i)+?".shtml"
? ? ? ? ? ? ? ?sigleArticle?=?get_content(url)
? ? ? ? ? ? ? ?downloadImg(sigleArticle)

if?__name__?==?'__main__':
? ?for?i?in?range(2,?5):
? ? ? ?print(i)
? ? ? ?url?=?"https://www.gamersky.com/ent/xz/"
? ? ? ?articleUrl?=?"https://www.gamersky.com/ent/202107/1406688.shtml"
? ? ? ?content?=?get_content(url)
? ? ? ?getAllArticle(content)

? ? ? ?# singleArticle = get_content(articleUrl)
? ? ? ?#
? ? ? ?# downloadImg(singleArticle)

注:图片下载可运行

遇到的困难

1.bs4 的安装

在pycharm 中无法安装,不知道什么情况,即使换了阿里的和清华的源依然不行,最后是在控制台安装

2.字符串的拆分

字符串的拆分的函数提示不好,不如Java方便

网站的字符串存在一些不规律,也没有深度探索

未解决的问题:

1.首页的翻页问题,现在只解决了首页的下载,还需要研究

2.程序的一些警告没有处理,直接无视了 requests.packages.urllib3.disable_warnings()

3.图片网址的前半部分是否需要拆分的问题,在浏览器中可以查看,但是爬取的时候似乎有点问题,没有深究

注意:爬虫虽好,可不要多用,会浪费网站的服务器性能

常规福利

图片

图片

图片

图片

图片

赶紧点赞,分享

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-07-24 11:23:48  更:2021-07-24 11:23:50 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 0:31:19-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码