Python进阶者|一篇文章教会你利用Python网络爬虫抓取王者荣耀图片2、对网站发生请求。3、对请求到的数据进行处理
_本文原题:一篇文章教会你利用Python网络爬虫抓取王者荣耀图片
【一、项目背景】
王者荣耀作为当下最火的游戏之一 , 里面的人物信息更是惟妙惟肖 , 但受到官网的限制 , 想下载一张高清的图片很难 。 (图片有版权) 。
以彼岸桌面这个网站为例 , 爬取王者荣耀图片的信息 。
本文插图
【二、项目目标】
实现将获取到的图片批量下载 。
【三、涉及的库和网站】
1、网址如下:
http://www.netbian.com/s/wangzherongyao/index.htm/
2、涉及的库:requests、lxml
【四、项目分析】
首先需要解决如何对下一页的网址进行请求的问题 。 可以点击下一页的按钮 , 观察到网站的变化分别如下所示:
http://www.netbian.com/s/wangzherongyao/index_2.htm
http://www.netbian.com/s/wangzherongyao/index_3.htm
http://www.netbian.com/s/wangzherongyao/index_4.htm
观察到只有index_()变化 , 变化的部分用{}代替 , 再用for循环遍历这网址 , 实现多个网址请求 。
http://www.netbian.com/s/wangzherongyao/index_{}.htm
【五、项目实施】
1、我们定义一个class类继承object , 然后定义init方法继承self , 再定义一个主函数main继承self 。 准备url地址和请求头headers 。
import requests
from lxml import etree
import time
class ImageSpider(object):
def __init__(self):
self.firsr_url = "http://www.netbian.com/s/wangzherongyao/index.htm"
self.url = "http://www.netbian.com/s/wangzherongyao/index_{}.htm"
self.headers = {
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36"
}
def main(self):
pass
if __name__ == '__main__':
spider= ImageSpider()
spider.main()
2、对网站发生请求 。'''发送请求 获取响应'''
def get_page(self, url):
res = requests.get(url=url, headers=self.headers)
html = res.content.decode("gbk") #网络编码
return html #返回值
3、对请求到的数据进行处理 '''解析数据'''
def parse_page(self, html):
parse_html = etree.HTML(html)
image_src_list = parse_html.xpath('//div[@class="list"]/ul/li/a//@href')
for image_src in image_src_list:
fa = "http://www.netbian.com" + image_src
# print(fa)
4、在谷歌浏览器上 , 右键选择开发者工具或者按F12 。
5、右键检查 , 找到图片二级的页面的链接 , 如下图所示 。
本文插图
6、对二级页面发生请求 , for遍历得到的网址 。
bimg_url = parse_html1.xpath('//div[@class="pic-down"]/a/@href')
for i in bimg_url:
diet = "http://www.netbian.com" + i
# print(diet)
html2 = self.get_page(diet)
parse_html2 = etree.HTML(html2)
# print(parse_html2)
url2 = parse_html2.xpath('//table[@id="endimg"]//tr//td//a/img/@src')
本文插图
7、将获取的图片写入文档 , 获取图片的title值作为图片的命名 。
推荐阅读
- 小岛秀夫|小岛秀夫写的第一篇故事 半途而废的侦探小说
- 金迈人力资源 【HR进阶】新员工岗前培训包括哪些内容?
- 鲜闻快讯|如何用Python探究你喜爱的歌手的音乐风格?
- 吊带公主裙|通过 VSCode RTOS 插件使用 Python 为物联网系统编写程序
- 车驰夜幕|自学python编程有哪些教程和书籍?python之父:这些资源你必须有
- 金迈人力资源【HR进阶】新员工岗前培训包括哪些内容?
- 手机游戏|《灌篮高手》手游:又一位进阶球员,会传球的流川枫让人有点慌
- 国际足球|曼晚:国米有信心买断桑切斯,谈判已进入进阶阶段
- 趣历史杂谈|从散户到大师的进阶之路!
- 女性健康|解决新手妈妈的烦恼看这一篇就够了