目标网站:https://www.quanjing.com/category/1286521/2.html

爬取搜索出来的所有“中东人”的图片:

先看一下源代码,找到存放图片链接的地方,在源代码最下面的部分:

先说一下思路:

构造url列表=》依次爬取每个页面=》先在网页源代码中找到存放图片链接的地方=》获取到这一地方的文本=》正则匹配出每个页面中每张图片的链接=》存储每张图片

来看爬取的代码:

import requests
import re
from bs4 import BeautifulSoup address = "https://www.quanjing.com/category/1286521/"
url_list = []                      #用于存储,每个页面的url列表
pipei = re.compile('<img.*?lowsrc="(.*?)"')    #构造正则表达式,用于下面匹配出每张图片的链接 # 构造url
def get_url_list():
for i in range(1, 3):      #规定爬取到的页数,这里爬取到第二页
url = address + str(i) + '.html'
url_list.append(url)
return url_list def run():
y = 1
i = 0
for url in get_url_list():    #这个循环用于依次爬取页面
html = requests.get(url=url).text  #请求页面
soup = BeautifulSoup(html, 'lxml')  
divs = str(soup.find_all(attrs={"class": "list"})) #获取存放链接的那一部分文本,并转换为字符串,正则必须是字符串类型要不不能进行匹配
lianjies = re.findall(pipei, divs)      #匹配到一个页面中每一张图片的链接,以列表的形式返回
for lianjie in lianjies:            #这个循环用于存储页面中的每一张图片
result = requests.get(url=lianjie).content  
with open('E:\py project\quanjingwang\image\{}.jpg'.format(i), 'wb') as f:
f.write(result)
i += 1
print("第{0}张存储完成".format(i))
print("第{0}页爬取完成".format({y}))
y += 1 if __name__ == '__main__':
run()

代码不难,但爬取速度有点慢,后面试着改成多线程。。。(ps:太菜了,若文章有错误,欢迎大佬随时指正。。)

简单的python爬虫实例的更多相关文章

  1. Python爬虫实例:爬取猫眼电影——破解字体反爬

    字体反爬 字体反爬也就是自定义字体反爬,通过调用自定义的字体文件来渲染网页中的文字,而网页中的文字不再是文字,而是相应的字体编码,通过复制或者简单的采集是无法采集到编码后的文字内容的. 现在貌似不少网 ...

  2. Python爬虫实例:爬取豆瓣Top250

    入门第一个爬虫一般都是爬这个,实在是太简单.用了 requests 和 bs4 库. 1.检查网页元素,提取所需要的信息并保存.这个用 bs4 就可以,前面的文章中已经有详细的用法阐述. 2.找到下一 ...

  3. Python爬虫实例:爬取B站《工作细胞》短评——异步加载信息的爬取

    很多网页的信息都是通过异步加载的,本文就举例讨论下此类网页的抓取. <工作细胞>最近比较火,bilibili 上目前的短评已经有17000多条. 先看分析下页面 右边 li 标签中的就是短 ...

  4. 一个简单的python爬虫程序

    python|网络爬虫 概述 这是一个简单的python爬虫程序,仅用作技术学习与交流,主要是通过一个简单的实际案例来对网络爬虫有个基础的认识. 什么是网络爬虫 简单的讲,网络爬虫就是模拟人访问web ...

  5. 一个简单的python爬虫,爬取知乎

    一个简单的python爬虫,爬取知乎 主要实现 爬取一个收藏夹 里 所有问题答案下的 图片 文字信息暂未收录,可自行实现,比图片更简单 具体代码里有详细注释,请自行阅读 项目源码: # -*- cod ...

  6. Python 爬虫实例

    下面是我写的一个简单爬虫实例 1.定义函数读取html网页的源代码 2.从源代码通过正则表达式挑选出自己需要获取的内容 3.序列中的htm依次写到d盘 #!/usr/bin/python import ...

  7. Python爬虫实例:糗百

    看了下python爬虫用法,正则匹配过滤对应字段,这里进行最强外功:copy大法实践 一开始是直接从参考链接复制粘贴的,发现由于糗百改版导致失败,这里对新版html分析后进行了简单改进,把整理过程记录 ...

  8. shell及Python爬虫实例展示

    1.shell爬虫实例: [root@db01 ~]# vim pa.sh #!/bin/bash www_link=http://www.cnblogs.com/clsn/default.html? ...

  9. python爬虫实例——爬取歌单

    学习自<<从零开始学python网络爬虫>> 爬取酷狗歌单,保存入csv文件 直接上源代码:(含注释) import requests #用于请求网页获取网页数据 from b ...

随机推荐

  1. corssplatform---NodeJS基础

    什么是NodeJS JS是脚本语言,脚本语言都需要一个解析器才能运行.对于写在HTML页面里的JS,浏览器充当了解析器的角色.而对于需要独立运行的JS,NodeJS就是一个解析器. 每一种解析器都是一 ...

  2. SecureCRT自动登录Linux并设置时间

    #$language = "VBScript" #$interface = "1.0" crt.Screen.Synchronous = True ' This ...

  3. Qt Installer Framework 3.0.1 Released(功能比较强)

    We are happy to announce the release of Qt IFW 3.0.1. 3.0.1 is fully compatible with 2.0.5, which me ...

  4. (转)移动端自定义返回上一页的方法:history

    在实际的应用中,我们常常需要实现在移动app和浏览器中点击返回.后退.上一页等按钮实现自己的关闭页面.调整到指定页面或执行一些其它操作的需求. 那在代码中怎样监听当点击微信.支付宝.百度糯米.百度钱包 ...

  5. WPF - 资源收集

    原文:WPF - 资源收集 OpenExpressApp的UI现在是使用WPF,所以熟悉WPF是必须的,以下我将可能用到的一些相关内容随时记录下来,以备查阅.此篇文章将不断更新,感兴趣的可以看看,也欢 ...

  6. Win8Metro(C#)数字图像处理--2.21二值图像腐蚀

    原文:Win8Metro(C#)数字图像处理--2.21二值图像腐蚀  [函数名称] 二值图像腐蚀函数CorrosionProcess(WriteableBitmap src) [算法说明] 二值 ...

  7. C#调用Microsoft.DirectX.DirectSound.dll时出错

    1.修改工程的编译选项.我的开发运行环境是Windows 10 x64系统.需要修改一下工程的编译选项,把AnyCPU改成x86的. 未能加载文件或程序集“Microsoft.DirectX.Dire ...

  8. asp.net处理请求

    当用户通过客户端浏览器向Web服务器发出请求时,Web服务器检查所请求页的扩展名, 如果是aspx,就会启动ASP.NET引擎处理该请求.ASP.NET引擎首先会检查输出缓冲中, 是否有此页面或此页面 ...

  9. C#二分查找法 破洞百出版本

    二分查找法在数据繁多的数据中查找是一种快速的方法,每次查找最多需要的次数 为2的n次方小于总个数. 当然是有前提的,就是需要把数据先排好序,这里指的都是数值型的数据. 基本思想就是把需要找的值与排序好 ...

  10. xen学习(一)

    添加镜像源 [root@xen xen]# cat /etc/yum.repos.d/xen.repo [xen] name=xenserver baseurl=http://mirrors.163. ...