移动端网站设计制作,深圳网站建设公司报价单,酒店网站设计,怎样打小广告最有效一月份的时候有写过一篇文章#xff0c;是关于如何解析网站#xff0c;然后将图片下载下来#xff0c;爬虫爬取美女图片存入到动态的文件夹中 今天主要总结的是爬虫的一个基本思路#xff0c;主要有#xff1a; 1.获取一个网页get_one_page()
我们知道一个网页可能由多个…一月份的时候有写过一篇文章是关于如何解析网站然后将图片下载下来爬虫爬取美女图片存入到动态的文件夹中 今天主要总结的是爬虫的一个基本思路主要有 1.获取一个网页get_one_page()
我们知道一个网页可能由多个参数构成我们可以传参进去。
2.分析一个网页获取有用的信息parse_one_page()或者获取图片下载save_one_image()
我们可以通过正则表达式或者第三方插件BeautifulSoup或者其他插件解析html文件然后获取自己有用的信息
3.将获取的信息存储起来
当我们获取到了我们需要的信息后我们可以存储到Excle,TXT,CSV,或者数据库中
4.main()函数处理流程 我们可以通过一个主流程函数传入参数进行逻辑处理然后传参数到get_one_page()parse_one_page()最后存储起来。
下面我们通过一个列子解释一下 #作者cacho_37967865
#博客https://blog.csdn.net/sinat_37967865
#文件getBeauty.py
#日期2018-05-13
#备注get_one_page()函数传参控制url并转化为可解析内容save_one_image()函数获取图片路径并下载文件main()函数进行传参循环下载图片 # F:\python_env\PaChong_env
# -*- coding: utf-8 -*-import os
import requests
import urllib.request
from urllib.parse import urlencode
from bs4 import BeautifulSoup
from tqdm import tqdmdef get_one_page(beauty,page):paras {id : beauty, #某个美女的idmm : page #每个美女有多张图片每张对应一页}headers {User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0}url http://www.xingmeng365.com/articles.asp? urlencode(paras)# 获取网页内容返回html数据response requests.get(url, headersheaders)response.encoding gb2312print(当前爬取的网址为 url)return response.textdef save_one_image(html,path,id,mm):soup BeautifulSoup(html,lxml)for link in soup.find_all(img):if /upload/image in link.get(src):image_url link.get(src)if id 6:image_url http://www.xingmeng365.com/ image_url[6:]else:image_url http://www.xingmeng365.com/ image_url[1:] # id7以后[6:]改为[1:]fileName soup.find(h1).get_text()os.chdir(path)image_path str(id) - str(fileName)if not os.path.exists(image_path):print(开始创建文件夹 str(fileName))os.makedirs(image_path)os.chdir(image_path)print(开始下载第 str(mm) 张图片 image_url)# 可以自定义命名图片名称好检索file open(str(id) - str(mm) .jpg, wb)req urllib.request.Request(urlimage_url)try:image urllib.request.urlopen(req, timeout20)pic image.read()except Exception as e:print(第 str(mm) 张图片访问超时下载失败 image_url)continuefile.write(pic)print(第 str(mm) 张图片下载成功)file.close()def main(start_id,end_id,page,path):for id in tqdm(range(start_id,end_id)):for mm in range(1,page):html get_one_page(id,mm)save_one_image(html,path,id,mm)if __name__ __main__:main(124, 760, 60, F:\Lingwei\AllPhoto)