网络爬虫,又被称为网页蜘蛛、网络机器人,爬虫分为通用网络爬虫、聚焦网络爬虫、增量式网络爬虫、Deep Web 爬虫这四种。“虫如其名”,爬虫并不是一种我们熟知的无脊椎动物中的节肢动物,而是一类计算器程序或脚本,该程序能够自动爬取万维网中的信息,并能够按照一定的要求加工这些信息。
c/c++、java、python、php等语言都可以用来写爬虫程序,但总的来讲,目前大多数开发人员都会选择python、php等语言进行开发爬虫程序,所以今天杰瑞将使用python教大家制作一个非常简单实用的爬虫程序。(文末送福利)
在浏览这篇教程之前,您需要有python的知识基础或其他编程语言基础,如果您没有编程基础,那么也不要担心,小编会尽量把教程做的通俗易懂一看就明白。
当我们在网络中寻找我们需要的信息时,一般都会通过浏览器进行操作,浏览器会将我们的请求发送给存放信息的服务器,服务器收到发过来的请求之后会把请求的数据返回给浏览器。
浏览器与服务器交互示意图
形象一点讲,浏览器就相当于我们人类的翻译官,将我们的人类语言翻译给服务器听,服务器听懂之后就开始执行我们的命令,然后将结果说给浏览器听,浏览器再将结果翻译给我们人类。所以我们的爬虫就是通过不断地模仿浏览器发出的指令,让服务器不断地执行相应的命令,此时服务器并不知道发送命令的是人类还是爬虫,因为服务器只能听得懂浏览器“语言”。
为什么要这样呢?我们人类自己发出命令不好吗?为什么要让机器代劳呢?举个例子:例如你正在做人工智能中的图片识别,这将需要到很多训练数据——图片,你总不能手动地一个个地将图片下载下来吧?这时候爬虫的作用就来了!
python爬虫原理(本例完整代码在末尾处)
在python中,我们可以使用requests.get()向目标地址发起请求,在这之后服务器会返回一些数据,在这些数据里面就有猫、狗图片的存放地址,我们需要将图片地址和HTML标签以及其他无用信息区分开来,所以将使用到正则化的方法,在这里可以使用re库,这个库自带一些正则化方法。
最后我们需要将指定url中的文件下载到电脑中,这将用到urllib库中的request.urlretrieve()方法。
首先按照惯例我们先把将要使用到的库导入到py文件中。
import requests
import json
import urllib
import re
然后开始编写我们的爬取程序,这里杰瑞以百度图片为例(请求地址在地址栏上,区别只是在word关键字上),程序详解在下面的注释当中。
requests_content的text属性就是服务器返回的文本数据,里面包含了一些HTML标签和JavaScript脚本代码。
密密麻麻的返回结果
这是我们将使用正则化方法来把图片地址提取出来。
都看到这里了,相信您对这篇文章一定很感兴趣吧?
所以就请 留言 点赞 关注
小编会坚持分享各种实用教程和干货
import requests
import json
import urllib
import re
"""
number :下载个数
path :下载地址
save_path :保存地址
"""
def download_img_from_path(keyword,number,save_path):
#向指定地址发起GET请求
requests_content = requests.get('百度请求地址'+keyword)
#使用正则化方法分析出图片地址
img_url = re.findall('"objURL":"(.*?)",', requests_content.text, re.S)
for i in range(number):
urllib.request.urlretrieve(img_url[i],save_path+str(i)+'.jpg' )
print('地址为:' + img_url[i])
download_img_from_path('壁纸', 10, '你的存放地址')
知道你对Python感兴趣,便为你准备了这套python学习资料,
对于0基础小白入门:
如果你是零基础小白,想快速入门Python是可以考虑培训的。
一方面是学习时间相对较短,学习内容更全面更集中。
包括:Python web开发,Python爬虫,Python数据分析,人工智能等学习教程。带你从零基础系统性的学好Python!
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(学习教程文末领取哈)
温馨提示:篇幅有限,已打包文件夹,获取方式在:文末
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
检查学习结果。
上述这份完整版的Python全套学习资料已经上传CSDN官方,朋友们如果需要可以微信扫描下方CSDN官方认证二维码输入“领取资料” 即可领取
了解python的前景:https://blog.csdn.net/weixin_49895216/article/details/127186741
了解python能做什么:https://blog.csdn.net/weixin_49895216/article/details/127124870