首页 技术 正文
技术 2022年11月14日
0 收藏 362 点赞 3,282 浏览 1748 个字

马上520就快到啦~

整点好看的给你们看下~

直接开搞~

代码流程

模拟浏览器向服务器发送一个http请求,网站接收到请求后返回数据。
在写爬虫代码的时候一定先要去模拟浏览器访问,因为现在的网站当接收到http请求后会校验当前请求是否是一个浏览器,如果是,允许访问,如果不是,禁止访问!
520到了,作为一个python程序员,必须整点肤白貌美的爬虫代码给你们~
环境啥的我就不说了,还是老样子~

首先把我们要用的包导进去

import os
# 自动创建文件夹
import requests
# requests 爬虫包 需要下载 pip install requests
from bs4 import BeautifulSoup
# 网页选择器 pip install bs4

然后我们就要开始模拟浏览器

python学习交流群:660193417###
headers = {
'user-agent':
'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36', # 反盗链
'referer': 'https://www.mzitu.com/'
}

既然我们要下载,当然要有文件夹去保存对吧,这里就实现自动创建文件夹,不用我们去额外创建。

def get_girls(url):
# 自动创建文件夹
if not os.path.exists('./学习资料/'):
os.mkdir('./学习资料/')

当然,为了不让你的小秘密被别人看到,咱们这里就把它命名为学习资料吧~
520到了,作为一个python程序员,必须整点肤白貌美的爬虫代码给你们~
我们现在来发送请求,http协议中 有几种请求方法:

  • get 获取数据
  • post 数据提交 [账号密码提交]
    html = requests.get(url, headers=headers).text

print(html)
对刚刚抓取到的数据进行二次筛选

需要两个参数,想要二次提取的网页 html变量临时保存了。
html解析库 lxml pip install lxml
html解析库可以将html代码转成我们的python对象

 soup = BeautifulSoup(html, 'lxml')

通过刚刚分析得出一个结论,一张图片是由img标签保存的,li标签包含一个img标签。如果我们获取了所有的li标签,相当于获取到了所有的img标签,因为一个ul标签包含了所有的li标签,所以获取一个ul就相当于获取到了所有的li标签。

遍历所有的li标签

all_list = soup.find('ul', id='pins').find_all_next('li')for _ in all_list:
girl_title = _.get_text()
girl_url = _.find('img')['data-original']
print(girl_title, girl_url)

这个时候就可以开始下载了

response = requests.get(girl_url, headers=headers)
fileName = girl_title + '.jpg'
print('正在保存图片:', girl_title)
with open('./学习资料/' + fileName, 'wb') as f:
f.write(response.content)

当然,只下载一页的话当然不过瘾,咱们这里就来实现翻页下载,当然,别爬多了,克制一下自己。
代码虽好,但还是要克制一下自己哟~

for page in range(1, 256):
url = 'https://www.mzitu.com/page/%s' % page
get_girls(url)

你要下载多少页,直接改成多少页就好了。

兄弟们学习python,有时候不知道怎么学,从哪里开始学。掌握了基本的一些语法或者做了两个案例后,不知道下一步怎么走,不知道如何去学习更加高深的知识。
那么对于这些大兄弟们,我准备了大量的免费视频教程,PDF电子书籍,以及视频源的源代码!
还会有大佬解答!
包括本文源代码、对应视频都在这里了
点击蓝色字体即可获取这些福利
欢迎加入,一起讨论 一起学习!

我们看看结果

520到了,作为一个python程序员,必须整点肤白貌美的爬虫代码给你们~
只能打码了,委婉一点。
文件夹我也不打开了,大家等下自己去试试,然后再慢慢打开把哈哈~
520到了,作为一个python程序员,必须整点肤白貌美的爬虫代码给你们~
兄弟们,如果看完了感觉还过的去的话,记得来个三连,
你的三连就是我最大的动力!
有啥问题和建议都可以在评论区一起交流~

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,082
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,557
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,406
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,179
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,815
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,898