其实很早之前就知道爬虫了,只是职业无关,也没怎么去注意。知道前段时间知道这个很火,可以用来赚钱,也在一些平台上发现有人发布信息,叫人写爬虫爬某个网站的数据,10亿+的数据,开价3-5W。虽然说是僧多肉少。但这多一门技能,多一份收入还是比较可观的。更有人靠爬虫月入3W。。。不知道真假,如果是真,应该也是经营漫长时间了。毕竟技术不是难题,客户,推广才是难题。
今天也终于去看看一些爬虫入门的东西。
说实话,这些入门教程看了之后实在是没啥难度。基本上就是requests,re,io,的操作。但尴尬的是一如既往地抄别人的东西都报错。小单元测试没错,放到整个程序里面就报错。。。看着也没啥错,但弄了很久,这就是偷懒的结果--原本只是想体验一下而已。后面就自己修改了部分代码。主要是他对返回结果和保存图片写得不大好,写了一大堆。。。
入门还是简单的,还是需要深入学习。当量起来的时候,就是经验积累的时候,就是真正学到东西的时候!
下面是我写的一个简单例子。从例子可以看出,基本就是python的基础应用嘛。。。没啥难度。
运行过,没问题。但这里的文章格式问题,代码复制到编辑器上需要格式化,否则报错。
(PS:如果你对爬虫有兴趣,看代码觉得难,可以关注我,我在持续写python教程)
import requests#需要安装requests
from bs4import BeautifulSoup#需要安装bs4
import os# 导入os模块
from ioimport BytesIO
from PILimport Image#需要安装pillow
import re
import urllib3
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)#禁用安全警告
def mkdir(path):##这个函数创建文件夹
path = path.strip()
isExists = os.path.exists(path)
if not isExists:
print('创建名字叫做', path, '的文件夹')
os.makedirs(path)
print('创建成功!')
else:
print(path, '文件夹已经存在了,不再创建')
print('开始网页get请求')
print('开始创建文件夹')
folder_path ='i:\BeautifulPicture'
mkdir(folder_path)# 创建文件夹
print('开始切换文件夹')
os.chdir(folder_path)# 切换路径至上面创建的文件夹
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36'}#给请求指定一个请求头来模拟chrome浏览器
web_url ='https://www.quanjing.com/'
p =r"(https:\S{1,}.jpg)"
pattern = re.compile(p)
r = requests.get(web_url, headers=headers)#像目标url地址发送get请求,返回一个response对象
all_a = BeautifulSoup(r.text, 'lxml').find_all('img')#获取网页中的class为item的所有a标签
tar = re.findall(pattern, str(all_a))#返回列表
for ain tar:
pn = os.path.split(a)[1]
try:
resp = requests.get(a, verify=False)#verify用于解决https 提示sslerror问题
with open(pn, 'ab')as fp:
fp.write(resp.content)
print(pn, '图片保存成功!')
#以下方法也行
# im = Image.open(BytesIO(resp.content))
# im.save(os.path.join(folder_path, pn))
except ConnectionError as e:
print(e)
print("保存图片失败")