老司机激情视频_精品久久久久久久久久岛国gif_久久久久久av_国产精品免费一区_伊人久久视频_精精久久_国产精品日日做人人爱

上課啦!Python爬蟲系列課程之爬蟲基礎介紹

爬蟲是什么?

爬蟲:一段自動抓取互聯網信息的程序,從互聯網上抓取對于我們有價值的信息。
爬蟲原理

如果我們把互聯網比作一張大的蜘蛛網,數據便是存放于蜘蛛網的各個節點,而爬蟲就是一只小蜘蛛,沿著網絡抓取自己的獵物(數據)。爬蟲指的是:向網站發起請求,獲取資源后分析并提取有用數據的程序。

從技術層面來說就是通過程序模擬瀏覽器請求站點的行為,把站點返回的HTML代碼/JSON數據/二進制數據(圖片、視頻) 爬到本地,進而提取自己需要的數據,并將數據存放起來加以利用。

爬蟲的基本流程

用戶獲取網絡數據的方式:

方式1:瀏覽器提交請求--->下載網頁代碼--->解析成頁面

方式2:模擬瀏覽器發送請求(獲取網頁代碼)->提取有用的數據->存放于數據庫或文件中

爬蟲要做的就是方式2,通過程序模擬瀏覽器,程序代替人工。流程如下:
爬蟲的基本流程

1、發起請求

使用http庫向目標站點發起請求,即發送一個Request。

Request包含:請求頭、請求體等。

Request模塊缺陷:不能執行JS 和CSS 代碼。

2、獲取響應內容

如果服務器能正常響應,則會得到一個Response。

Response包含:html,json,圖片,視頻等。

3、解析內容

解析html數據:正則表達式(RE模塊),第三方解析庫等。

解析json數據:json模塊。

解析二進制數據:寫入文件。

4、保存數據

數據庫(MySQL,Mongdb、Redis等)

本地文件

為什么選擇Python爬蟲

Python爬蟲是用Python編程語言實現的網絡爬蟲,主要用于網絡數據的抓取和處理。相比于其他語言,Python是一門非常適合開發網絡爬蟲的編程語言,大量內置包,可以輕松實現網絡爬蟲功能。

Python提供了較為完整的訪問網頁文檔的API.

對比其他語言用Python開發速度快,代碼簡潔干凈。

Python請求與響應

通過Python的爬蟲包發送WEB請求,獲取響應信息。

Python自帶了urllib和urllib2爬蟲包。urllib和urllib2都是接受URL請求的用于網絡請求的相關模塊,彼此各有利弊,urllib和urllib2通常一起使用。

而requests與scrapy是目前比較常用的Python數據采集包。也是大數據省賽、國賽數據采集步驟的指定考核范圍(近幾年的大數據競賽數據采集步驟考核內容都是requests或scrapy)。

Python解析內容

解析內容就是將需求數據從響應的整體頁面信息中提取出來的過程。

爬蟲的數據采集可以幫助我們獲取網站的頁面內容,但頁面內容會比較多并不是所有的頁面信息都是我們需要的。頁面的指定字段才是有價值的,才是我們想要得到的內容。對于獲取的數據需要進行解析提取需求數據,正則表達式與xpath(lxml包)是目前比較常見的解析工具。

正則表達式是Python自帶的包,Xpath需要安裝lxml包。

正則表達式描述了一種字符串匹配的模式(pattern),可以用來檢查一個字符串是否含有某種子串、將匹配的子串替換或者從某個字符串中取出符合某個條件的子串等。

例子:

import re

# 正則規則

nameReg = "title=\"(.+?)\""

# 整體信息

msg = ""

# 正則處理

msglist = re.findall(nameReg, msg, re.S | re.M)

# 提取內容

print(msglist)

結果:

['百度搜索']

XPath 是一門在 XML 文檔中查找信息的語言。XPath使用路徑表達式來選取 XML 文檔中的節點或者節點集。這些路徑表達式和我們在常規的電腦文件系統中看到的表達式非常相似。

例子:

from lxml import html

xml_doc = """

first item

second item

third item

"""

# 轉換格式,用于xpath獲取指定內容

dom_tree = html.etree.HTML(xml_doc)

# xpath規則

msg = dom_tree.xpath("//li/a/text()")

# 循環獲取的節點內容

for text in msg:

print(text)

結果:

['百度搜索']

first item

second item

third item

Python保存數據

將解析內容持久化,保存到數據庫或本地文件。常見操作有MySQL保存與csv文件保存。

保存到MySQL:通過pymysql操作數據庫,使用insert into語句插入數據。

保存文件:file.write(“輸出內容”)。

爬蟲過程示例

此處只做演示,后續課程會講解詳細過程。

1、查看要訪問的WEB頁面。
爬蟲過程示例

2、requests發送請求并獲取響應內容。

3、解析頁面內容,提取需求字段。

4、保存內容

主站蜘蛛池模板: 久久精品国产一区二区三区肥胖 | 欧美级 | 欧美孕妇乱大交xxxx | 日本黄在线观看免费播放 | 嫩模一区 | 日本一区二区三区四区在线观看 | 男女曰逼视频 | 一级毛片国产真人永久在线 | 激情综合婷婷 | 国产精品又黄又爽又色视频 | 黑人又粗又长 | 免费国产成人高清在线观看不卡 | 高清不卡在线 | 午夜精品久久久久久久第一页 | 国产亚洲美女精品久久久久狼 | 日本视频免费 | 国产真实搭讪系列 | 两个人看的www高清免费视频 | 亚洲三级成人 | 久久作爱视频 | 国产成人99精品免费视频麻豆 | 欧美午夜免费看爽爽爽 | 日韩在线观看一区 | 精品91精品91精品国产片 | www日韩中文字幕在线看 | 精品卡卡一卡二 | 一级片a级片 | 男人夜日日日日日日日日 | 真实一级一级一片免费视频 | 中文字幕在线免费看 | 人人爽人人爽人人片av免费 | 九月婷婷人人澡人人爽人人爱 | 国产一卡二卡三卡四卡 | 日本人在线看片 | 亚洲精品免费日日日夜夜夜夜 | 日韩视频福利 | 天天操伊人 | 亚洲欧美无人区乱码 | 欧美国产综合在线 | 成人自拍视频网 | a级成人毛片免费图片 |