01爬虫基本原理及Requests库下载
一、爬蟲基本原理
1.什么是爬蟲
? 爬蟲就是爬取數(shù)據(jù)
2.什么是互聯(lián)網(wǎng)?
? 就是由一堆網(wǎng)絡(luò)設(shè)備,把一臺(tái)臺(tái)的電腦互聯(lián)在一起
3.互聯(lián)網(wǎng)建立的目的
? 數(shù)據(jù)的傳遞和數(shù)據(jù)共享
4.什么是數(shù)據(jù)?
? 例如:
? 電商平臺(tái)的商業(yè)信息(淘寶、京東、亞馬遜)
? 鏈家、自如等租房信息
? 股票政券投資信息
? 12306票務(wù)信息
? ....
4.1什么是進(jìn)程和線程
? 打比方:打開QQ是進(jìn)程
? QQ中的很多群是線程
5.什么是上網(wǎng)
? 普通用戶:
? 打開瀏覽器
? →輸入網(wǎng)址
? →往目標(biāo)主機(jī)發(fā)送請(qǐng)求
? →返回響應(yīng)數(shù)據(jù)
? →把數(shù)據(jù)渲染到瀏覽器中
? 爬蟲程序:
? 模擬瀏覽器
? →往目標(biāo)主機(jī)發(fā)送請(qǐng)求
? →返回響應(yīng)數(shù)據(jù)
? →提取有價(jià)值的信息
? →保存數(shù)據(jù)(文件寫入本地、持久化到數(shù)據(jù)庫)
6.爬蟲的全過程
? 1.發(fā)送請(qǐng)求
? 請(qǐng)求庫:Requests/Selenium
? 2.獲取響應(yīng)數(shù)據(jù)
? 3.解析數(shù)據(jù)
? 解析庫:BeautifulSoup4
? 4.保存數(shù)據(jù)
? 存儲(chǔ)庫:文件保存/MongoDB
總結(jié)
假如把互聯(lián)網(wǎng)中的數(shù)據(jù)比作一座寶藏,爬蟲其實(shí)就是在挖取寶藏
二、Requests請(qǐng)求庫
1.安裝
方法一:pip3 install requests如果報(bào)錯(cuò),則是環(huán)境變量沒有配好,可以在pycharm中下載
方法二:
2.分析請(qǐng)求流程(模擬瀏覽器)
? -百度
? 1.請(qǐng)求url:https://www.baidu.com/
? 2.請(qǐng)求方式
? 3.響應(yīng)狀態(tài)碼
三、爬蟲三部曲(測(cè)試)
1.發(fā)送請(qǐng)求
# 發(fā)送請(qǐng)求 def get_page(url):response = requests.get(url)return response2.解析數(shù)據(jù)
#解析主頁頁面 import re def pare_index(html):#findall 匹配所有# re.findall('正則匹配規(guī)則','匹配文本','匹配模式')#re.S 對(duì)全部文本進(jìn)行搜索detail_urls = re.findall('<div class="items"><a class="imglink" href="(.*?)"',html,re.S)return detail_urls# 解析詳情頁 def pare_detail(html):detail_urls = re.findall('<sourse src="(.*?)">',html,re.S)return detail_urls3.保存數(shù)據(jù)
#保存文件 import uuid def save_movie(content):with open(f'{uuid.uuid4()}','wb') as f:f.write(content)print("視頻下載完畢")轉(zhuǎn)載于:https://www.cnblogs.com/Crystal-Zh/p/11113823.html
總結(jié)
以上是生活随笔為你收集整理的01爬虫基本原理及Requests库下载的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IOS和Andriod手机浏览器内核
- 下一篇: CentOS 安装Nginx