91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python爬蟲是什么

發布時間:2020-09-24 10:06:34 來源:億速云 閱讀:141 作者:Leah 欄目:編程語言

本篇文章給大家分享的是有關Python爬蟲是什么,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

一、什么是爬蟲?

按照一定的規則編寫程序,讓其模擬人使用瀏覽器上網,自動抓取互聯網中數據的過程,稱之為爬蟲。

二、爬蟲分類:

通用網絡爬蟲:通用網絡爬蟲又稱全網爬蟲(Scalable Web Crawler),爬行整個 Web站點,主要為門戶站點搜索引擎和大型 Web 服務提供商采集數據。 這類網絡爬蟲的爬行范圍和數量大,對于爬行速度和存儲空間要求較高。

通用網絡爬蟲的結構大致可以分為頁面爬行模塊 、頁面分析模塊、鏈接過濾模塊、頁面數據庫、URL 隊列、初始 URL 集合幾個部分。為提高工作效率,通用網絡爬蟲會采取一定的爬行策略。 常用的爬行策略有:深度優先策略、廣度優先策略。

聚焦網絡爬蟲:聚焦網絡爬蟲(Focused Crawler),又稱主題網絡爬蟲(Topical Crawler),是指有選擇性地爬取預先定義好的相關主題頁面。 和通用網絡爬蟲相比,聚焦爬蟲只需要爬行與主題相關的頁面,極大地節省了硬件和網絡資源 。

增量式網絡爬蟲:增量式網絡爬蟲(Incremental Web Crawler)是指對已下載網頁采取增量式更新和只爬行新產生的或者已經發生變化網頁的爬蟲,它能夠在一定程度上保證所爬行的頁面是盡可能新的頁面。 和周期性爬行和刷新頁面的網絡爬蟲相比,增量式爬蟲只會在需要的時候爬行新產生或發生更新的頁面 ,并不重新下載沒有發生變化的頁面,可有效減少數據下載量,及時更新已爬行的網頁,減小時間和空間上的耗費,但是增加了爬行算法的復雜度和實現難度。

Deep Web 爬蟲:Web 頁面按存在方式可以分為表層網頁(Surface Web)和深層網頁(Deep Web,也稱 Invisible Web Pages 或 Hidden Web)。 表層網頁是指傳統搜索引擎可以索引的頁面,以超鏈接可以到達的靜態網頁為主構成的 Web 頁面。Deep Web 是那些大部分內容不能通過靜態鏈接獲取的、隱藏在搜索表單后的,只有用戶提交一些關鍵詞才能獲得的 Web 頁面。例如那些用戶注冊后內容才可見的網頁就屬于 Deep Web。

Deep Web 爬蟲體系結構包含六個基本功能模塊 (爬行控制器、解析器、表單分析器、表單處理器、響應分析器、LVS 控制器)和兩個爬蟲內部數據結構(URL 列表、LVS 表)。 其中 LVS(Label Value Set)表示標簽/數值集合,用來表示填充表單的數據源。

三、requests模塊基礎使用

requests常用方法:

request():構造一個請求,支撐一下各種方法的基礎方法

get():獲取HTML網頁的主要方法,對應于HTTP的GET

head():獲取HTML網頁頭信息的方法,對應于HTTP的HEAD

post():向HTML網頁提交OST請求的方法,對應于HTTP的POST請求

put():向HTML網頁提交PUT請求的方法,對應于HTTP的PUT

patch():向HTML網頁提交局部修改請求,對應于HTTP的PATCH

deleete():向HTML頁面提交刪除請求,對應于HTTP的DELETE

1、爬取百度頁面

import requests
import os
BASE_PATH = os.path.abspath(os.path.dirname(__file__))
BASE_PATH = os.path.join(BASE_PATH,'html')
file_name = os.path.join(BASE_PATH,'demo.html')
url = 'https://www.baidu.com/s?wd=python'
headers = {
    'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.
    3729.131 Safari/537.36'
}
response = requests.get(url=url,headers=headers)
response.encoding = response.apparent_encoding  
with open(file_name,mode='w',encoding='utf-8') as f:
    f.write(response.text)

2、獲取KFC北京的位置信息

import requests
url = 'http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx?op=keyword'
headers = {
    'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.
    3729.131 Safari/537.36'
}
for i in range(1,8):
    data = {
        "cname":"",
        "pid":"",
        "keyword": "北京",
        "pageIndex": i,
        "pageSize": '10'
    }
    response = requests.post(url,headers=headers,data=data).json()
    print(f'第{i}頁')
    for j in response.get('Table1'):
        print(j['addressDetail'])

以上就是Python爬蟲是什么,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阿鲁科尔沁旗| 崇文区| 东山县| 靖边县| 永寿县| 黔南| 大埔区| 塘沽区| 两当县| 许昌市| 寻甸| 东至县| 耿马| 全南县| 仪陇县| 达拉特旗| 五指山市| 安庆市| 商城县| 北流市| 宣威市| 景东| 娄烦县| 乌拉特前旗| 遂平县| 嘉鱼县| 永泰县| 宁阳县| 兴和县| 峨边| 华宁县| 宜宾县| 伊春市| 乐都县| 南部县| 乌兰察布市| 庆安县| 天柱县| 陵水| 凤台县| 小金县|