简单的python爬虫实例
目标网站: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爬虫实例的更多相关文章
- Python爬虫实例:爬取猫眼电影——破解字体反爬
		
字体反爬 字体反爬也就是自定义字体反爬,通过调用自定义的字体文件来渲染网页中的文字,而网页中的文字不再是文字,而是相应的字体编码,通过复制或者简单的采集是无法采集到编码后的文字内容的. 现在貌似不少网 ...
 - Python爬虫实例:爬取豆瓣Top250
		
入门第一个爬虫一般都是爬这个,实在是太简单.用了 requests 和 bs4 库. 1.检查网页元素,提取所需要的信息并保存.这个用 bs4 就可以,前面的文章中已经有详细的用法阐述. 2.找到下一 ...
 - Python爬虫实例:爬取B站《工作细胞》短评——异步加载信息的爬取
		
很多网页的信息都是通过异步加载的,本文就举例讨论下此类网页的抓取. <工作细胞>最近比较火,bilibili 上目前的短评已经有17000多条. 先看分析下页面 右边 li 标签中的就是短 ...
 - 一个简单的python爬虫程序
		
python|网络爬虫 概述 这是一个简单的python爬虫程序,仅用作技术学习与交流,主要是通过一个简单的实际案例来对网络爬虫有个基础的认识. 什么是网络爬虫 简单的讲,网络爬虫就是模拟人访问web ...
 - 一个简单的python爬虫,爬取知乎
		
一个简单的python爬虫,爬取知乎 主要实现 爬取一个收藏夹 里 所有问题答案下的 图片 文字信息暂未收录,可自行实现,比图片更简单 具体代码里有详细注释,请自行阅读 项目源码: # -*- cod ...
 - Python 爬虫实例
		
下面是我写的一个简单爬虫实例 1.定义函数读取html网页的源代码 2.从源代码通过正则表达式挑选出自己需要获取的内容 3.序列中的htm依次写到d盘 #!/usr/bin/python import ...
 - Python爬虫实例:糗百
		
看了下python爬虫用法,正则匹配过滤对应字段,这里进行最强外功:copy大法实践 一开始是直接从参考链接复制粘贴的,发现由于糗百改版导致失败,这里对新版html分析后进行了简单改进,把整理过程记录 ...
 - shell及Python爬虫实例展示
		
1.shell爬虫实例: [root@db01 ~]# vim pa.sh #!/bin/bash www_link=http://www.cnblogs.com/clsn/default.html? ...
 - python爬虫实例——爬取歌单
		
学习自<<从零开始学python网络爬虫>> 爬取酷狗歌单,保存入csv文件 直接上源代码:(含注释) import requests #用于请求网页获取网页数据 from b ...
 
随机推荐
- ASP.NET Core 项目配置 ( Startup ) - ASP.NET Core 基础教程 - 简单教程,简单编程
			
原文:ASP.NET Core 项目配置 ( Startup ) - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 项目配置 ( Startup ) 前面几章节 ...
 - JQuery在一个简单的表单验证的例子
			
html代码例如以下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:/ ...
 - Python科学计算(两)——时域波形和正弦信号的频谱
			
Python科学计算(两)-- 时域和频域波形为正弦波形信号生成.计算和显示 # -*- coding: utf-8 -*- import numpy as np import matplotlib. ...
 - [科普]MinGW vs MinGW-W64及其它(比较有意思,来自mingw吧)
			
部分参照备忘录原文: bitbucket.org/FrankHB/yslib/src/50c3e6344a5a24b2382ce3398065f2197c2bd57e/doc/Workflow.Ann ...
 - getResources()方法
			
今天做一个Android文件管理器.它使用了很多当地的用途getResources. Drawable currentIcon = null; ------ current ...
 - Highcharts纯js图表库,以后可以跟客户说,你跟阿里云ECS用的图表库是同款
			
Highcharts是一款纯javascript编写的图表库,能够很简便的在Web网站或Web应用中添加交互性的图表,Highcharts目前支持直线图.曲线图.面积图.柱状图.饼图.散点图等多达18 ...
 - 在 Swift 中实现单例方法
			
我们通常在进行开发的时候,会用到一个叫做 单例模式 的东西.相信大家也都对这种模式非常熟悉了.而且单例的使用在平时的开发中也非常频繁. 比如我们常用到的 NSUserDefaults.standard ...
 - Android 5.0(L) ToolBar(替代ActionBar) 现实(四)
			
经过三天休息,我回来了,我们继续讨论Toolbar. 在此之前假设您正在步步紧跟下来的序列,然后,你应该注意到MainActivity据说他已被警告.因为他们,我们声明toolbar对象.但一直没有用 ...
 - Emgu-WPF学习使用 - 颜色映射
			
原文:Emgu-WPF学习使用 - 颜色映射 string sFile = ""; if (!String.IsNullOrEmpty(AppConstUtils.GDefault ...
 - WPF VisualTreeHelper的使用
			
<Window x:Class="MyWpf.MainWindow" xmlns="http://schemas.microsoft.com/winf ...