Python爬虫学习笔记

前言

适当爬取怡情,过度爬取…
**
爬取到的东西不要商用!爬取到的东西不要商用!爬取到的东西不要商用!

1.准备工具

获取Python request第三方库
方法一:同时按win+r,输入cmd,打开cmd后输入:‘pip install requests’进行安装
注意:下载速度慢/下载失败大多数是因为没有设置镜像,镜像的设置如下。
一、打开cmd,输入:
sudo pip install -i https://pypi.tuna.tsinghua.edu.cn/simple #这里是用的清华镜像,下方有其他镜像可以使用

清华:https://pypi.tuna.tsinghua.edu.cn/simple

阿里云:http://mirrors.aliyun.com/pypi/simple/

中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/

华中理工大学:http://pypi.hustunique.com/

山东理工大学:http://pypi.sdutlinux.org/

豆瓣:http://pypi.douban.com/simple/

2.获取反反爬虫要用的header信息

这里用某个小破站做例子

如果你会,这一块请跳过
如果你懒得整,那么可以用下方所示的头文件(最好用自己的)

User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36

注意,头文件信息就是你访问网站时,你向网站发送的自身信息(不敏感),这个信息一般不会因为网站不同而变化,所以无论是从哪个网站获取的,都通用。



然后

接着(如果在这一步遇到显示为空,按Ctrl+R进行刷新)

最后

头文件获取成功,接下来开始了解编写爬虫的必要库

3.库的使用

1.re正则库是一个很强大的第三方库,在此只需要学会re库的一个方法就可以了,详见:https://blog.csdn.net/qq_43639438/article/details/107735340

re.findall(pattern, string, flags=0)       #搜索字符串,并以列表形式返回

在使用前需要获取所用链接所在的网页元素
元素获取如下:

对这个元素进行如下操作(re.findall用法讲解)

Reruests = requests.get('http://www.huitu.com/photo/show/20200110/135852472070.html')       #马上就讲requests.get方法
html = Requests.text    #访问并以文本形式接受返回url = re.findall('<img class="m-img" alt=".*?" title=".*?" src="(.*?)" />',html)     #.*?表示不需要匹配的元素内容、(.*?)表示要获取的内容,并将链接赋给url#对比元素用  <img class="m-img" alt="猫咪" title="猫咪-汇图网 www.huitu.com" src="http://pic136.huitu.com/res/20200110/2257244_20200110135852472070_1.jpg" />

2.requests库的使用
同上,对于基础来说,只需要了解此库一个方法的使用
对网址进行访问:

requests.get()    #括号里填写要访问的链接,此方法主要模拟浏览器对链接的访问

替换头文件(反反爬虫用)示例:

'''请求网站'''
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36'
}      #获取到的头文件Requests = requests.get('http://www.huitu.com/photo/show/20200110/135852472070.html',headers=headers) #改变头文件

明白上述两个方法的使用后,就开始撸码吧!

4.开始编写

注意看注释
正常编写(修复文字乱码看下面,这里只包含反反爬虫机制)

import requests    #调用刚才下载的requests库
import re      #调用re正则表达库(一般Python本身会自带,如果没有,可以用pip下载)
import time    #做慈善
import os      #创建分类用'''请求网站'''
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36'
}#反反爬虫机制,替换头文件(获取方法按上上文所述即可)Requests = requests.get('http://www.huitu.com/photo/show/20200110/135852472070.html',headers=headers)
#可以改成你要抓取的网页,后面是反反爬虫html = Requests.text'''解析网址'''
dir_ml = re.findall('<a class="picSpecTxt" title="(.*?)" href=".*?" target="_blank">',html)[0]   #解析标题,为文件夹命名做准备
if not os.path.exists(dir_ml):     #‘使用os检测文件夹是否存在’如果当前目录不存在,则创建os.mkdir(dir_ml)               #‘使用os创建文件夹’用解析到的名字为文件夹命名url = re.findall('<img class="m-img" alt=".*?" title=".*?" src="(.*?)" />',html)      #解析图片的下载链接
print('反馈网址:' + str(url))         #给个反馈'''保存图片'''
for urls in url:time.sleep(1)        #延缓程序1秒钟,做慈善Requests = requests.get(urls,headers=headers)         #name = urls.split('/')[-1]with open(dir_ml + '/' +name,'wb') as f:f.write(Requests.content)         #以二进制保存(适用于图片音频),text文字f.close()                         #程序结束,关闭文件

修复文字乱码(加到请求网站的下一行):
如果还乱码,那么请将‘gdk’改为‘utf-8’

requests.content.decode('gbk')

示例:

'''请求网站'''
headers = {'User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36'
}#反反爬虫机制,替换头文件(获取方法按上文所述即可)Requests = requests.get('http://www.huitu.com/photo/show/20200110/135852472070.html',headers=headers)
requests.content.decode('gbk')    #改变编码格式,解决乱码
html = Requests.text

5.运行

目标图片


成功下载图片

Python爬虫基础教程,详细讲解(含爬取文字为乱码解决办法、反爬虫机制解决办法)相关推荐

  1. Python爬虫小白教程(二)—— 爬取豆瓣评分TOP250电影

    文章目录 前言 安装bs4库 网站分析 获取页面 爬取页面 页面分析 其他页面 爬虫系列 前言 经过上篇博客Python爬虫小白教程(一)-- 静态网页抓取后我们已经知道如何抓取一个静态的页面了,现在 ...

  2. python提取图片文字视频教学_Python学习第七天之爬虫的学习与使用(爬取文字、图片、 视频)...

    一.爬虫记得基本方法 1.1 爬虫概述 ​网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使 ...

  3. python爬取文字和图片_Python学习第七天之爬虫的学习与使用(爬取文字、图片、 视频)...

    [toc] 一.爬虫记得基本方法 1.1 爬虫概述 ​ 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本. ...

  4. Python爬虫入门教程02:小说爬取

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. 前文 01.python爬虫入门教程01:豆瓣Top电影爬取 基本开发环境 Python 3 ...

  5. Python爬虫学习教程 bilibili网站视频爬取!【附源码】

    Python爬虫学习教程,万物皆可爬!每个技术大牛都是从基础慢慢的提升上去的,基础知识越深以后的发展越牛!学好python,才能玩转python,那到底怎么才能学好python? 通过爬取b站案例带领 ...

  6. Python爬虫入门教程 6-100 蜂鸟网图片爬取之一

    1. 蜂鸟网图片简介 国庆假日结束了,新的工作又开始了,今天我们继续爬取一个网站,这个网站为 http://image.fengniao.com/ ,蜂鸟一个摄影大牛聚集的地方,本教程请用来学习,不要 ...

  7. python爬虫爬图片教程_Python爬虫入门教程 5-100 27270图片爬取

    获取待爬取页面 今天继续爬取一个网站,http://www.27270.com/ent/meinvtupian/ 这个网站具备反爬,so我们下载的代码有些地方处理的也不是很到位,大家重点学习思路,有啥 ...

  8. python发短信 金山_Python爬虫基础练习(四) 金山翻译爬取(进阶篇)

    上一篇文章金山翻译爬取(基础篇)讲到爬取金山翻译,并且实现了简单词汇的爬取,但是我们的报错信息都是一长串字符,就像这样 当然这个报错还是很容易看懂的,"列表索引超出范围",但是我们 ...

  9. b站学python_Python爬虫学习教程 bilibili网站视频爬取!【附源码】

    python爬虫学习教程,万物皆可爬!每个技术大牛都是从基础慢慢的提升上去的,基础知识越深以后的发展越牛!学好python,才能玩转python,那到底怎么才能学好python? 通过爬取b站案例带领 ...

最新文章

  1. android dslr控制软件,DSLR Controller
  2. 深圳人均GDP过一万美元随想
  3. koa 接口返回数据_一文搞定 Koa 中间件实现原理
  4. Minio的容量算法及实际存储空间计算公式
  5. 互联网公司Java面试总结
  6. “互联网+”下的制造业供应链新挑战
  7. 在中国做操作系统研发 20 年是种什么体验?
  8. Android 的 生命周期_ 界面的切换 和 吐司
  9. 浏览器怎么清理缓存_Mac系统浏览器缓存清理工具
  10. 应用 | 同学,该学MyCat实际应用案例与MyCat读写分离了
  11. 智课雅思短语---二、exert positive/ negative effects on…
  12. cocos编译java时改变使用的javac的版本
  13. Oracle 修改表空间文件路径
  14. [System Design] 系统设计 (2) -- 数据库设计
  15. PPC小问题,持续更新中...
  16. Android Palette吸色原理及源码解析
  17. 数值分析:复化梯形公式与复化Simpson公式
  18. 不到最后一刻,绝不放弃!
  19. Google Chrome 更新失败(错误:3)检查更新时出错
  20. 常系数非齐次微分方程特解及其通解求解

热门文章

  1. letter-combinations-of-a-phone-number
  2. android 显示天气插件下载,Android天气插件
  3. android开发学习大体思路
  4. 服务器和笔记本直连,网口灯不亮
  5. 5.29:题目及答案解析
  6. 申请NASA账户以及批量下载数据
  7. Elasticsearch使用密码查询
  8. 京津沪稳增!佛罗伦萨小镇2021年销售额突破110亿元;对抗微软?谷歌54亿美元大手笔收购知名网络安全公司 | 美通社头条...
  9. Shopee店铺运营效果不好要怎么优化?
  10. java分类Kdd99数据集_KDD-CUP99 网络入侵检测数据集的处理与研究