需求分析
Python实现
def get_htmls(pages=list(range(2, 5))):
"""获取待爬取网页"""
pages_list = []
for page in pages:
url = f"https://pic.netbian.com/4kfengjing/index_{page}.html"
response = requests.get(url)
response.encoding = 'gbk'
pages_list.append(response.text)
return pages_list
get_htmls(pages=list(range(2, 5)))
def get_picturs(htmls):
"""获取所有图片,并下载"""
for html in htmls:
soup = BeautifulSoup(html, 'html.parser')
pic_li = soup.find('div', id='main').find('div', class_='slist').find('ul', class_='clearfix')
image_path = pic_li.find_all('img')
for file in image_path:
pic_name = './practice05/' + file['alt'].replace(" ",'_') + '.jpg'
src = file['src']
src = f"https://pic.netbian.com/{src}"
response = requests.get(src)
with open(pic_name, 'wb') as f:
f.write(response.content)
print("图片已下载并保存为:{}".format(pic_name))
htmls = get_htmls(pages=list(range(2, 5)))
get_picturs(htmls)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 爬取结果展示