声明:本文内容皆来自网上

环境:ubuntu19.04、python3.x

python包:requests、bs4、beautifulsoup、re、urllib、lxml、os

下载方式:$pip install [包名]

ps:部分电脑未安装python-pip,报错后按照系统提示下载python-pip

爬虫过程:

1)模拟浏览器向目标网页发送请求

2)接收响应

3)解析,将响应转为网页代码输出

4)查找代码中需要的部分

5)处理

代码实现:

这里以爬取发表情(https://www.fabiaoqing.com/biaoqing)网页上的图片为例

1、2) url = 'https://www.fabiaoqing.com/biaoqing' #目标网址

response = requests.get(url)   #发送访问请求接收

3)  soup= BeautifulSoup(response.content.decode('utf-8'), 'lxml')  #解析响应,此时soup是目标网页代码

4)  gowl = str(soup.findAll('img'))  #查找所有图片,gowl即为图片url

#由于我们仅需要其中的表情,所以需要对gowl再进行一次筛选。目标网页表情包url

我们可以发现url分为.jpg和.gif,但它们前面都是http://w...sinaimg.cn/bmiddle/................................  #此处 . 表示匹配一个数字或字符。所以:

picUrls = re.findall('http://w...sinaimg.cn/bmiddle/.................................jpg',gowl)

picUrlst = re.findall('http://w...sinaimg.cn/bmiddle/.................................gif',gowl)

#picUrls和picUrlst的和即为目标表情包

5)然后下载图片

imgName = 0

for url in picUrls:

r = requests.get(url)

img = r.content

with open(str(imgName)+".jpg",'wb') as f:

f.write(img)

imgName = imgName  +1

imgNamet = len(picUrls)

for urls in picUrlst:

rt = requests.get(urls)

imgt = rt.content

with open(str(imgNamet)+".gif",'wb') as f:

f.write(imgt)

imgNamet = imgNamet  +1

最后

完整代码:

#!/usr/bin/python3

# -*- coding: utf-8 -*-

import requests

from bs4 import BeautifulSoup

import re

import urllib

import lxml

import os

url = "https://www.fabiaoqing.com/biaoqing"

response = requests.get(url) #发送请求

soup = BeautifulSoup(response.content.decode('utf-8'), 'lxml') #解析

gowl = str(soup.findAll('img')) #查找

#print(gowl) #所有img

picUrls = re.findall('http://w...sinaimg.cn/bmiddle/.................................jpg',gowl)

picUrlst = re.findall('http://w...sinaimg.cn/bmiddle/.................................gif',gowl)

#print picUrls,picUrlst #所有符合要求的图片

#file_obj = open('goel', 'r+') #写入文件,goels是你创建的文档名称

#file_obj.write(str(picUrls))

imgName = 0

for url in picUrls:

r = requests.get(url)

img = r.content

with open(str(imgName)+".jpg",'wb') as f:

f.write(img)

imgName = imgName  +1

imgNamet = len(picUrls)

for urls in picUrlst:

rt = requests.get(urls)

imgt = rt.content

with open(str(imgNamet)+".gif",'wb') as f:

f.write(imgt)

imgNamet = imgNamet  +1

ps:这是我的第一次写爬虫,希望对此时阅读的你们有所帮助。如果文章或代码有所错误欢迎指出。也欢迎各位大神对代码进行简化。

爬虫python代码-python爬虫(附源码)相关推荐

  1. cvtcolor python opencv_13行代码实现:Python实时视频采集(附源码)

    程序逻辑 Python实时视频采集程序主要流程共分为10个步骤,具体如下图所示: 流程描述: 库文件导入:导入程序依赖的python安装包: 摄像头管理对象创建和初始化:是对opencv VideoC ...

  2. 用Html5实现天气预报的原理,HTML5 Canvas和jQuery实时天气预报代码解析「附源码」...

    HTML5 Canvas和jQuery实时天气预报代码解析「附源码」 这是一款非常有意思的纯CSS3扁平风格天气预报卡片动画特效.该天气预报特效将各种天气制作为卡片形式,包括下雨,闪电,白天,夜间和下 ...

  3. 13行代码实现:Python实时视频采集(附源码)

    一.前言 本文是<人脸识别完整项目实战>系列博文第3部分:程序设计篇(Python版),第1节<Python实时视频采集程序设计>,本章内容系统介绍:基于Python+open ...

  4. 【Python】一文弄懂python装饰器(附源码例子)

    目录 前言 一.什么是装饰器 二.为什么要用装饰器 三.简单的装饰器 四.装饰器的语法糖@ 五.装饰器传参 六.带参数的装饰器 七.类装饰器 八.带参数的类装饰器 九.装饰器的顺序 总结 写在后面 前 ...

  5. Python实现物流管理系统(附源码)

    前言 基于Django实现的物流管理系统,工作时忙里偷闲写的练手项目. 特点 前端基于Bootstrap 4框架和AdminLTE框架. 使用MySQL作为数据库后端. 实现了运单录入.发车出库.到货 ...

  6. 100个Python实战项目(附源码),练完即可就业,从入门到进阶

    前言: "读"代码是不能给你带来任何收益的,正如"读书"一样,如果在读的时候你不琢磨,保管你读完仨月准忘了一大半.真正需要的是去"试"代码, ...

  7. python编程选股_随笔吧量化投资选股的python程序实践(附源码)

    量化投资选股的python程序实践(附源码) 首先选取沪深股票市场,本人比较关注的12只股票: 000002 万科A,600566 济川药业,300051 三五互联,002039 黔源电力,60087 ...

  8. Python爬虫项目70例,附源码 70个Python爬虫练手实例

    今天博主给大家带来了一份大礼,Python爬虫70例!!!以及完整的项目源码!!! 本文下面所有的爬虫项目都有详细的配套教程以及源码,都已经打包好上传到百度云了,链接在文章结尾处! 扫码此处领取大家自 ...

  9. 自己帮别人写的网站可以公开源码吗_专注爬虫:20个精心总结爬虫项目,爬虫技术这里强(附源码)...

    写在前面 你想成为Python爬虫的高手么?你想爬取你想要的高质量数据么? 那么你得需要进行爬虫项目的演练,那样你才有可能在Python爬虫的道路上走的更远 小编在这里精心总结了20个爬虫项目的演练, ...

  10. 齿轮画板Python小游戏(附源码)

    齿轮画板Python小游戏 相信很多人都玩过类似下面这样的小玩具,我叫它齿轮画板,很多人叫它万花尺.前段时间我的孩子在玩这种游戏时由于控制不好,总是很难画好完整的图案.于是我萌发了用编程来实现这个游戏 ...

最新文章

  1. ubuntu系统php环境变量设置,Ubuntu系统环境变量详解
  2. Pygame Rect区域位置(图解)
  3. 机器学习重新构想计算的构建块
  4. 一个完整项目的学习--
  5. appium的demo编程
  6. pytorch randomresizedcrop
  7. 【科普】为什么ip地址通常以192.168开头?
  8. 道指mt4代码_剑指offer算法题052:正则表达式匹配
  9. oracle查询语句子句,Oracle 查询执行顺序
  10. Spring Boot 永远滴神!10分钟快速入门
  11. python的编程工具spider_7款Python开发神器,拿走不谢
  12. zabbix应用之discovery批量添加主机并实现自定义主机名
  13. hbase MapReduce程序样例入门
  14. 单片机:Keil的安装教程
  15. ssm医院挂号就诊预约系统毕业设计源码250853
  16. 两数之和c++实现 java实现 two sum
  17. C++程序设计:税费计算
  18. WPF图片背景色过滤
  19. Python基础+进阶(万字总结,基础案例+执行结果)
  20. 2022淘宝天猫京东双十一交易额有多少?双11交易的数据

热门文章

  1. java报错只有一个数字4,Java 报错 illegal Key Size
  2. Android Handler与Looper原理简析
  3. HTTP协议之post multipart/form-data数据类型实例
  4. Fuzzy C Means 算法及其 Python 实现——写得很清楚,见原文
  5. 格伦布编码——rice编码无非是golomb编码M为2^x的特例
  6. go语言笔记——数组长度不可变,但是元素值是可变的!!!
  7. ES doc_values介绍2——本质是field value的列存储,做聚合分析用,ES默认开启,会占用存储空间...
  8. SpringBoot jetty webflux
  9. blfs(systemv版本)学习笔记-使用apache创建简单的网页服务器
  10. Linux中OBS在Wayland环境下黑屏只显示鼠标的应对措施