最最后一篇python网络爬虫
实现网络爬取的注意事项
这里我们简单总结一下实现网络爬虫需要注意的方面
1. 首先我们需要寻找我们感兴趣的内容,
它所在的网站是否有速率限制或者访问限制,来决定我们是否可以使用网络爬取
2. 注意,我们的爬取仅仅是为了学习和交流,
一定要遵守法律!一定要遵守法律!一定要遵守法律!
3. 能够使用beautiful soup和selenium来解析网页,
就不要使用正则表达式或手动解析网页
4. 很多网站会检查header的合法正确与否,所以我们要合理的构造头
5. 有些网页的HTML是不规范的,但是我们的BS可以帮助我们修复它
6. 如果遇到JavaScript加载的网页内容,我们使用selenium来爬取网页
7. 有的时候我们模拟登录会遇到验证码(这就非常头疼!)
我们常用的有两种方式解决它:
一是将验证码的图片下载下来,然后加载到另一个专门识别验证码的网站,
再将解析好的验证码传回给我们的程序;
二是使用深度学习(tensorflow)来实现验证码的识别(这个就比较高级了)
8. 爬虫和反爬虫就要一场猫鼠游戏,当你爬取困难时,不要灰心,
因为你可能在与反爬虫专家斗智斗勇
其他爬取的辅助工具介绍
1.代理服务器 : 我们使用代理ip来进行爬取,这样可以防止当你的请求被检测出异常时,网站管理者封IP时,不会导致你自己的IP永久性的无法访问这个网站
2.lxml库 :一个强大的HTML解析库,它通过将爬取的网页重新构造为一棵树来实现对里面内容的整理,我们同样可以使用xpath语法在里面进行查找
3.Scrapy库:这个库的名字就是爬取,所以它是一个综合爬取网站并提取数据的python库。通常它用来部署运行在云端的网络爬虫,在服务器上托管爬虫让它一天二十四小时不间断的为你爬取内容
4.Fiddler : 一个强大的抓包软件,不仅可以抓取浏览器的交互状态还可以抓取应用的交互状态,可以说非常强大了
上面的几个辅助工具感兴趣的同学可以在CSDN或者其他平台寻找资料学习哟!
当然如果评论区有小伙伴想要我出教程也是可以的哟(虽然俺比较懒)
网络爬虫总结
终于写完了网络爬虫整个系列的博客(后面可能还会有,随缘),这是我第一次写博客所以很多不足的地方还请大家多多包涵,在评论区或者私信,提建议给我哟(每条我都会回复的!)这里稍微总结一下网络爬虫的基本框架和学习内容
- 首先我们学习了网络传输协议HTTP的基本内容,了解了计算机通信架构的七个层面
- 然后我们学习了python中非常好用的requests库,我们通过几行简单的代码就能将整个网页爬取下来
import requests # 加载库
target = 'https://www.baidu.com/' # 目标网址
get_url = requests.get(url=target) # 请求
get_url.encoding = 'utf-8' # 编码格式
print(get_url.status_code) # 打印状态码
print(get_url.text) # 打印内容
- 学习了HTML和CSS的基本知识后,我们学习了Beautiful Soup的基本用法和两个最常用的查找元素的方法:find 和 find_all
from bs4 import BeautifulSoup
import requests
import re
target = 'https://www.baidu.com/'
get_url = requests.get(url=target)
get_url.encoding = 'utf-8' # 编码格式
test = get_url.text
bs = BeautifulSoup(test, "html.parser")
print(bs.title) # 获取title标签的名称
print(bs.title.string) # 获取title标签的文本内容
for item in bs.find_all('a'):
# print(item.get('href')) # 获取属性 与下面的方法等价
print(item['href'])
- 稍微学习了一点点正则表达式相关
- 然后就是提交表单和post请求(requests库)来模拟登录或者提交表单
- 之后我们学会了构造头来保护自己免受反爬虫机制的干扰
- 我们学习了cookie的重要性还有requests库中的session类
- 然后就是模拟浏览器动作的selenium库的学习
- 最后我们完成了爬取网页文本、网页中的图片下载、批量下载翻页图片的几个实战任务
完结撒花!!!
最后把整个系列的链接贴在这里
从小白开始学python-网络爬虫一 (requests库的介绍)
从小白开始学python-网络爬虫二 (HTML、 CSS、Beautiful Soup介绍)
从小白开始学python网络爬虫三 (使用表单和post请求)
从小白开始学python-网络爬虫四 (cookie、session、实战:下载图片)
从小白开始学python-网络爬虫五 (Selenium、xpath、实战:自动搜索)
从小白开始学python-网络爬虫六 实战篇(使用requests,beautiful soup,selenium爬取批量图片)
看到这里就帮忙点个赞呗!