一月份的时候有写过一篇文章,是关于如何解析网站,然后将图片下载下来,爬虫爬取美女图片存入到动态的文件夹中
今天主要总结的是爬虫的一个基本思路,主要有:
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,        #某个美女的id'mm' : 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, headers=headers)response.encoding = 'gb2312'print("当前爬取的网址为:" + 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:]  # id=7以后,[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(url=image_url)try:image = urllib.request.urlopen(req, timeout=20)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')

【Python爬虫】爬虫程序的简单处理过程相关推荐

  1. python有趣小程序代码,简单的小程序代码

    谁能用python帮我写一个小程序,让用户输入任意9个数字,然后输出排序后的结果. 我只写一个函数:>>> def littleFunc(): data =[] #初始化列表 for ...

  2. python网络爬虫程序技术,Python网络爬虫程序技术

    spContent=该课程是2018年广东省精品在线开放课程.课程主要以爬取学生信息.爬取城市天气预报.爬取网站图像.爬起图书网站图书.爬取商城网站商品等5个项目为依托,讲解Web.正则表达式.Bea ...

  3. python如何爬虫-如何使用python写爬虫程序

    python编写爬虫的整体思路简单清晰,下面来说一下具体的步骤: 先来看代码,在解释,一个简单的网络爬虫示例import requests from bs4 import BeautifulSoup ...

  4. python多线程爬虫实例-Python多线程爬虫简单示例

    python是支持多线程的,主要是通过thread和threading这两个模块来实现的.thread模块是比较底层的模块,threading模块是对thread做了一些包装的,可以更加方便的使用. ...

  5. [python知识] 爬虫知识之BeautifulSoup库安装及简单介绍

    一. 前言         在前面的几篇文章中我介绍了如何通过Python分析源代码来爬取博客.维基百科InfoBox和图片,其文章链接如下:         [python学习] 简单爬取维基百科程 ...

  6. 一步一步学python爬虫_初学Python之爬虫的简单入门

    初学Python之爬虫的简单入门 一.什么是爬虫? 1.简单介绍爬虫 爬虫的全称为网络爬虫,简称爬虫,别名有网络机器人,网络蜘蛛等等. 网络爬虫是一种自动获取网页内容的程序,为搜索引擎提供了重要的数据 ...

  7. 简单完整的Python小爬虫教程

    作者:vinyyu 声明:版权所有,转载请注明出处,谢谢. 1 调入需要使用的库 time库用于每次获取页面的时间间隔:pandas库用于DataFrame的数据格式存储:requests用于爬虫获取 ...

  8. Python网络爬虫简单教程——第一部

    Python网络爬虫简单教程--第一部 感谢,如需转载请注明文章出处:https://blog.csdn.net/weixin_44609873/article/details/103384984 P ...

  9. python网页爬虫+简单的数据分析

    python网页爬虫+简单的数据分析 文章目录 python网页爬虫+简单的数据分析 一.数据爬取 二.数据分析 1.我们今天爬取的目标网站是:http://pm25.in/ 2.需要爬取的目标数据是 ...

最新文章

  1. React Native For Android 环境搭建
  2. GHOST_XP详细制作过程
  3. windows服务器apache+PHP+Mysql
  4. centos7 zookeeper3.5.6单点部署
  5. 检查密码 (15 分)
  6. 【知识蒸馏综述】用20篇论文走完知识蒸馏在 2014-2020 年的技术进展
  7. Win7便签快捷键大全
  8. matlab函数总结
  9. 51单片机汇编语言实验及代码
  10. uubox.net 网站的第二阶段完成,修复了部分的bug,增加了图片浏览和mp3在线播放等功能...
  11. 汉字转拼音多音字java_汉字转拼音多音字解决方案 搜索引擎分词细胞词库更新 搜狗词库提取TXT PHP高性能输出UNICODE正则汉字列表...
  12. 海洋cms 模板标签手册
  13. C++ 编写一个解释器
  14. 一文读懂DeFi保险市场主要玩家及其运作机制 链捕手
  15. Spring Boot 结合 FreeMarker导出word文件
  16. 基于C#的快递物流管理系统#毕业设计
  17. grunt 打包雪碧图 grunt-spritesmith
  18. Qt中国象棋之棋子的移动
  19. Linux系统下安装alsa-lib-1.1.8
  20. STM8L低功耗设置,深坑。。。

热门文章

  1. 云服务器如何链接本地打印机_利用FileZilla搭建云服务器FTP服务端和本地客户端...
  2. python memoryview_memoryview的用法
  3. json tcl_确定TCL中变量的类型
  4. SQL关联查询————LEFT JOIN关键字的使用
  5. ubuntu安装mysql5.7.17_ubuntu 16.04安装mysql-server_5.7.17
  6. mysql 分页效率_MYSql分页查询效率提高
  7. java的创建管理员对象_java--更改管理员密码,请列位帮忙看看有没有更好的实现方式...
  8. python函数:函数参数,常用函数工具
  9. ubuntu安装python_Linux下的Python开发配置鸭
  10. HTML+CSS+JS实现 ❤️echarts省市区地图城市选择❤️