这个是自己在网上python课程的最后一个内容,简单的介绍爬虫,这个看完有段时间了,但是没有能及时的写出来,一直在一个代表的列表里,今天把它补上来搞掉那个代办。
只谈自己的理解,以自己现在学到的说,爬虫就是把网页的源代码获取上,然后对其进行分析,所以需要知道一些html,js,css之类的一些知识了。
自己以前也看过相关的内容,所以能继续跟着课程学习。
说起来很简单,就是获取一个网页,然后把该网页上的一些图片保存下来。
说到python爬虫基本所有相关教程都会提到requests库。先放个可以去详细学习的链接
https://docs.python-requests.org/zh_CN/latest/user/quickstart.html
import requests
r = requests.get(‘https://xxxx.xxx.com‘) #通过get方法获取到一个response对象
sorcecode = r.text #通过r.text来获取源码字符串
利用到了另一个库来进行分析:Beautiful Soup ,一个学习地址
https://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html
from bs4 import BeautifulSoup
Soup = Beautifulsoup(sorcecode) #通过上边获取的源码字符串得到一个实例
网页中的标签就可以通过soup.xxx 来获得,课程中介绍了一个findall 方法来获取同一个标签的所有值,放在一个列表中,还可以通过标签属性来进行过滤。
Soup.find_all(‘img‘,class_="xxx") #找到class为xxx的img元素 class属性比较特殊,最后要带个下划线,返回的是一个列表,列表元素为所有img标签,其属性可以用img[属性名]查看
最后我们要下载图片,需要获得的是一个图片的地址,所以可以根据上边的列表生成我们需要的url列表。
urllist =[img[url] for img in Soup.find_all(‘img‘,class_="xxx")]
剩下的就是从网址下载图片,并保存
for url in urlist:
r = requests.get(url)
with open(‘c:\\Users\\Administrator\\Desktop\\test\\‘+url.split(‘/‘)[-1],‘wb‘) as f: #打开一个文件准备写入内容,名称取url最后一个/后的值
f.write(r.content) #图片需要用content用字节码的形式
简单的记录完了。
为什么最近开始写的东西多了呢,主要感觉把自己的时间从一些不好的地方分出来一些,同时呢觉得自己的表达和书写能力不行,慢慢练习的把它提高一点。
也不知道会坚持多久呢?
原文:https://blog.51cto.com/ytdsxushu/2722305