中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

深圳專業(yè)做網(wǎng)站技術(shù)公司網(wǎng)絡(luò)推廣方案

深圳專業(yè)做網(wǎng)站技術(shù),公司網(wǎng)絡(luò)推廣方案,可信賴的龍崗網(wǎng)站建設(shè),有服務(wù)器域名源碼怎么做網(wǎng)站平臺(tái)一、爬蟲的基本概念 1.什么是爬蟲? 請(qǐng)求網(wǎng)站并提取數(shù)據(jù)的自動(dòng)化程序 2.爬蟲的分類 2.1 通用爬蟲(大而全) 功能強(qiáng)大,采集面廣,通常用于搜索引擎:百度,360,谷歌 2.2 聚焦爬蟲&#x…

一、爬蟲的基本概念

1.什么是爬蟲?

????????????????請(qǐng)求網(wǎng)站并提取數(shù)據(jù)的自動(dòng)化程序

2.爬蟲的分類

??? 2.1 通用爬蟲(大而全

??????? 功能強(qiáng)大,采集面廣,通常用于搜索引擎:百度,360,谷歌

??? 2.2 聚焦爬蟲,主題爬蟲(小而精

??????? 功能相對(duì)單一(只針對(duì)特定的網(wǎng)站的特定內(nèi)容進(jìn)行爬取)

??? 2.3增量式爬蟲(只采集更新后的內(nèi)容)

??????? 爬取更新后的內(nèi)容,新聞,漫畫,視頻…(區(qū)分新老數(shù)據(jù))

3.ROOT協(xié)議

????????什么是robots協(xié)議?

????????3.1 Robots協(xié)議的全稱是"網(wǎng)絡(luò)爬蟲排除標(biāo)準(zhǔn)" (Robots Exclusion Protocol),簡稱為Robots協(xié)議。

????????3.2 Robots協(xié)議的一個(gè)很重要作用就是網(wǎng)站告知爬蟲哪些頁面可以抓取,哪些不

行。君子協(xié)定:指代的是口頭上的協(xié)議,如果爬取了,可能會(huì)出現(xiàn)法律糾紛(商用).

二、爬蟲的基本流程

1.發(fā)起請(qǐng)求

????????通過HTTP庫向目標(biāo)站點(diǎn)發(fā)起請(qǐng)求,即發(fā)起一個(gè)Request,請(qǐng)求可以包含額外的headers信息,等待服務(wù)器響應(yīng)。

2.獲取響應(yīng)內(nèi)容

????????如果服務(wù)器能正常響應(yīng),會(huì)得到一個(gè)Response,Response的內(nèi)容便是索要獲取的頁面內(nèi)容,類型可能有HTML,Json字符串,二進(jìn)制數(shù)據(jù)(如圖片視頻)等類型

3.解析內(nèi)容

????????得到的內(nèi)容可能是HTML,可以用正則表達(dá)式、網(wǎng)頁解析庫進(jìn)行解析,可能是Json,可以直接轉(zhuǎn)為Json對(duì)象解析,可能是二進(jìn)制數(shù)據(jù),可能做保存或進(jìn)一步處理

4.保存數(shù)據(jù)

?????? 保存形式多樣,可以保存為文本,也可保存至數(shù)據(jù)庫或者保存特定格式的文件

三、Request和Response

????????1.瀏覽器就發(fā)送消息給該網(wǎng)址所在的服務(wù)器,這個(gè)過程叫做HTTP Request。

????????2.服務(wù)器收到瀏覽器發(fā)送的消息后,能夠根據(jù)瀏覽器發(fā)送消息的內(nèi)容,做相應(yīng)處理,然

后把消息回傳給瀏覽器。這個(gè)過程叫做HTTP Response。

????????3.瀏覽器收到服務(wù)器的Response信息后,會(huì)對(duì)信息進(jìn)行相應(yīng)處理,然后展示。

????????4.Request

??? ????4.1 主要有GET、POST兩種類型

????????4.2 URL全稱統(tǒng)一資源定位符,如一個(gè)網(wǎng)頁文檔、一張圖片、一個(gè)視頻等都可

????????以用URL唯一來確定。

????????4.3 包含請(qǐng)求時(shí)的頭部信息,如User-Agent、Host、Cookies等信息。???????

????????4.4 請(qǐng)求時(shí)額外攜帶的數(shù)據(jù)如表單提交時(shí)的表單數(shù)據(jù)。

????????5.Reponse

??????? 5.1 響應(yīng)狀態(tài)

有多種響應(yīng)狀態(tài),如200代表成功、301跳轉(zhuǎn)、404找不到頁面、502服務(wù)器錯(cuò)誤

??????? 5.2 響應(yīng)頭

?????????? 如內(nèi)容類型、內(nèi)容長度、服務(wù)器信息、設(shè)置Cookie等等。

??????? 5.3 響應(yīng)體

?????????? 最主要的部分,包含了請(qǐng)求資源的內(nèi)容, 如網(wǎng)頁HTML、圖片二進(jìn)制數(shù)據(jù)等。

注意:在監(jiān)測的時(shí)候用Ctrl+F調(diào)出搜索框

四、Requests模塊

?????? 作用:發(fā)送網(wǎng)絡(luò)請(qǐng)求,或得響應(yīng)數(shù)據(jù)

開源地址:https://github.com/kennethreitz/requestsicon-default.png?t=N7T8https://github.com/kennethreitz/requests

安裝: pip install requests -i https://pypi.douban.com/simple/

?????? 中文文檔 API http://docs.python-requests.org/zh_CN/latest/index.htmlicon-default.png?t=N7T8http://docs.python-requests.org/zh_CN/latest/index.html

?????? 官方文檔:??? Requests: 讓 HTTP 服務(wù)人類 — Requests 2.18.1 文檔icon-default.png?t=N7T8https://requests.readthedocs.io/projects/cn/zh-cn/latest/

1.Requests請(qǐng)求

只能得到一個(gè)包的數(shù)據(jù)

url = 'https://www.baidu.com/'
response = requests.get(url)
print(response)#返回的是一個(gè)響應(yīng)體對(duì)象print(response.text)#獲取響應(yīng)體內(nèi)容print(response.status_code)#響應(yīng)狀態(tài)碼

Get請(qǐng)求

url = 'https://httpbin.org/get'#url = 'https://httpbin.org/get?age=18&&name=zhangsan'data = {'name':'zhangsan','age':19}response = requests.get(url,params=data)#params攜帶get請(qǐng)求的參數(shù)進(jìn)行傳參print(response.text)
 

Post請(qǐng)求

rl = 'https://httpbin.org/post'data = {'name':'zhangsan','age':19}response = requests.post(url,data=data)#data:攜帶post請(qǐng)求需要的表單數(shù)據(jù),在form里面形成print(response.text)

自己理解:

對(duì)于Get來說,主要在網(wǎng)址輸入時(shí)即輸入U(xiǎn)RL的時(shí)候用到,而POST則是在網(wǎng)頁里面,比如翻譯時(shí)的單詞輸入等

??????

獲取Json數(shù)據(jù)

url = 'https://httpbin.org/get'result = requests.get(url)result_data = result.json()print(result_data)print(type(result_data))

會(huì)發(fā)現(xiàn)Py里面的Json數(shù)據(jù)就是字典類型

獲取二進(jìn)制據(jù)數(shù)據(jù)

url = 'https://b.bdstatic.com/searchbox/icms/searchbox/img/ci_boy.png'result = requests.get(url)#print(result.text) #二進(jìn)制數(shù)據(jù)轉(zhuǎn)文本會(huì)顯示亂碼,strprint(result.content)#會(huì)發(fā)現(xiàn)是以b開頭的bite類型二進(jìn)制數(shù)據(jù),bytesdata = result.contentwith open('TuPian.png','wb') as f:? #wb是寫入二進(jìn)制f.write(data)

初步偽裝小爬蟲——添加headers

????????????? 瀏覽器用戶身份的標(biāo)識(shí),缺少的話服務(wù)器會(huì)認(rèn)為你不是一個(gè)正常的瀏覽器用戶,而是一個(gè)爬蟲程序

?????? User-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36 Edg/124.0.0.0

import requestsimport fake_useragentua = fake_useragent.UserAgent()ua_fake = ua.chromeurl = 'https://www.jianshu.com/'headers = {#'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36 Edg/124.0.0.0''User-Agent':ua_fake}result = requests.get(url,headers = headers)print(result.text)

會(huì)話維持

?????? 例如爬取簡書的收藏的時(shí)候,如果不登陸就無法爬取,可以在headers里面增加cookie內(nèi)容即可,但要注意的是cookie有對(duì)應(yīng)的時(shí)間

import requestsimport fake_useragentua = fake_useragent.UserAgent()ua_fake = ua.chromeurl = 'https://www.jianshu.com/'headers = {#'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36 Edg/124.0.0.0''User-Agent':ua_fake,'cookie':''}result = requests.get(url,headers = headers)print(result.text)

代理

import requestsp = {'http':'120.41.143.139:21037','https':'120.41.143.139:21037',
}url = 'https://www.jianshu.com/'headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36 Edg/124.0.0.0'}result = requests.get(url,headers = headers,proxies=p)print(result.text)

?????? 注意的是這里的ip無效,后面繼續(xù)展開

五、正則表達(dá)式

?????? 1.正則表達(dá)式是對(duì)字符串操作的一種邏輯公式,就是用事先定義好的一些特殊字符以及這些特殊字符的組合,組成一個(gè)“規(guī)則字符串”,這個(gè)“規(guī)則字符串”用來表達(dá)對(duì)字符串的一種邏輯過濾

?????? 2.非Python獨(dú)有

????????3.Python里面是使用re模塊來實(shí)現(xiàn)的,不需要額外進(jìn)行安裝,是內(nèi)置模塊

常見匹配模式

? ? ? ? ? ? ?

??????

re.match()方法的使用

import re#content = 'Hello 123 456789 World_This is a Regex Demo'#re.match('正則表達(dá)式','目標(biāo)字符串')#result = re.match('Hello\s\d\d\d\s\d{6}\s\w{10}',content)#print(result.group())#result = re.match('H.*Demo',content)#result = re.match('Hello\s(\d{3})\s(\d{6})',content)#print(result.group(1))? #這里0表示最先出現(xiàn)的括號(hào),1表示第二次出現(xiàn)的括號(hào)#print(result.group(1,2))??? #這是一個(gè)元組,后面處理較麻煩#content = 'Hello 123456789 World_This is a Regex Demo'#result = re.match('He.*(\d+).*Demo',content)#因?yàn)樨澙纺J降拇嬖?#xff0c;在He之后,Demo之前至少有一個(gè)數(shù)字字符,即9#print(result.group(1)) #打印的為9#加上?后,即為非貪婪#result = re.match('He.*?(\d+).*Demo',content)#print(result.group(1))#content = """Hello 123456789#World_This# is a Regex#? Demo"""#result = re.match('He.*?(\d+).*Demo',content,re.S)#re.S忽略換行符#print(result.group())#\轉(zhuǎn)義符,如果對(duì)\轉(zhuǎn)義,則需要兩個(gè)\\,也可以直接寫r,再接一個(gè)\#content = 'price is $9.99'#result = re.match('price\sis\s\$9.99',content) #$這個(gè)在正則表達(dá)式有自己的含義#print(result.group())

search方法

search全文檢索,返回滿足表達(dá)式的第一個(gè)

#result = re.search('<a\s\href="/3.mp3"\ssinger="(.*)">(.*)</a>',html)#print(result.group(1))

Findall方法

用一個(gè)大列表返回滿足所有的正則表達(dá)式結(jié)果

#result = re.findall('<a\s\href="(.*)"\ssinger="(.*)">(.*)</a>',html)#for i in result:#?? print(i)

Re.sub()

#re.sub('要替換的目標(biāo)的正則表達(dá)式','想要將前面匹配到的數(shù)據(jù)替換成什么','目標(biāo)字符串')#sub_html = re.sub('<i.*</i>','',html)#result = re.findall('<a\s\href="(.*)"\ssinger="(.*)">(.*)</a>',sub_html)#for i in result:#?? print(i)

http://www.risenshineclean.com/news/27779.html

相關(guān)文章:

  • 法人變更在哪個(gè)網(wǎng)站做公示建網(wǎng)站需要多少錢
  • 電子商務(wù)網(wǎng)站建設(shè)的階段化分析b2b電子商務(wù)平臺(tái)有哪些
  • 網(wǎng)站編程外貿(mào)業(yè)務(wù)推廣
  • 廣東裝飾公司網(wǎng)站建設(shè)網(wǎng)絡(luò)營銷師證書含金量
  • 中山企業(yè)門戶網(wǎng)站建設(shè)成都網(wǎng)站關(guān)鍵詞推廣
  • 長沙需要做網(wǎng)站的企業(yè)吳忠seo
  • 動(dòng)態(tài)網(wǎng)站開發(fā)第一步藥品銷售推廣方案
  • 中國幼兒在線幼兒園網(wǎng)站建設(shè)天津網(wǎng)站建設(shè)
  • sae 網(wǎng)站模板線上營銷平臺(tái)有哪些
  • 政府網(wǎng)站建設(shè)什么網(wǎng)站可以免費(fèi)推廣
  • wordpress 首頁模板河南靠譜seo地址
  • 北京中關(guān)村在線官網(wǎng)站群seo
  • 長沙簡單的網(wǎng)站建設(shè)公司威海百度seo
  • 翡翠原石網(wǎng)站首頁怎么做怎樣做app推廣
  • 網(wǎng)站手機(jī)端 怎么做阿里指數(shù)官方網(wǎng)站
  • 在局網(wǎng)站 作風(fēng)建設(shè)百度電話怎么轉(zhuǎn)人工
  • 網(wǎng)站備案當(dāng)面核驗(yàn)中國搜索引擎市場份額
  • 汕頭網(wǎng)站推廣教程2345瀏覽器網(wǎng)址導(dǎo)航
  • 怎么做淘寶客網(wǎng)站賺錢整站優(yōu)化加盟
  • 做英文網(wǎng)站哪家好關(guān)鍵詞首頁排名優(yōu)化價(jià)格
  • 大寺網(wǎng)站建設(shè)公司不限次數(shù)觀看視頻的app
  • 網(wǎng)站備案填寫昆山網(wǎng)站制作公司
  • 可以做早安圖片的網(wǎng)站一鍵優(yōu)化大師下載
  • domain:網(wǎng)站建設(shè)網(wǎng)站建設(shè)的系統(tǒng)流程圖
  • 有了網(wǎng)站 怎么做排名優(yōu)化新聞?lì)^條最新消息今日頭條
  • 企業(yè)網(wǎng)盤怎么申請(qǐng)seo搜索優(yōu)化 指數(shù)
  • 兼職做設(shè)計(jì)什么網(wǎng)站好360競價(jià)推廣
  • 建筑工地招聘信息網(wǎng)昆明網(wǎng)站seo公司
  • 網(wǎng)站開發(fā)網(wǎng)絡(luò)課程網(wǎng)絡(luò)營銷的平臺(tái)有哪些
  • 電商網(wǎng)站怎么做支付廣州專門做seo的公司