一、要求
1、抓取目标
彼岸图网(http://pic.netbian.com)上的4K图片。
2、抓取方式
基于Python的聚焦式网络爬虫爬取。
3、存储方式
本地文件存储。
4、工具
pycharm、Python、Firefox浏览器
二、设计
1、彼岸网站URL规则
(1)每个大分类的首页网址构成为https://pic.netbian.com/ + 分类名;
(2)每个大类的每一页一般为20个展示4K图片,每页的网址构成为https://pic.netbian.com/ + 分类名 + index_ + 页数 + .html ,其中第一页特殊,网址就是大类网址;
(3)单张图片的网页在标志为 id=“main” 下的第三个div下的每一个li下的a旁边的href="/tupian/27638.html",https://pic.netbian.com/ + 【href后面的网址】 就是单页网址
(4)在单页网址中,第一个 id=“img"下的img旁边的src=”/uploads/allimg/210624/082402-16244942421f54.jpg",https://pic.netbian.com/ + 【href后面的网址】就是图片URL。
2、程序流程图
三、代码(详细注释)
import requests
from lxml import etree
import os
# 从栏目页进入内容页并调用函数开始爬取图片
def name(url, type_name, headers):
url = url + page_list_url[int(type_name)] #int() 函数用于将一个字符串或数字转换为整型。分类首页网址
doc_name = './' + page_list_name[int(type_name)].encode('ISO-8859-1').decode('gbk')
page_list_text = requests.get(url=url, headers=headers).text#获取网页
page_list_tree = etree.HTML(page_list_text)
page_list_limit = page_list_tree.xpath('//*[@id="main"]/div[4]/a[7]/text()')[0]#读取总页数所有标签为id="main"的第四个div下的直系