爬蟲技術知多少

2021-10-05 07:49:58 字數 3530 閱讀 8532

一、爬取python之禪

了解乙個網路爬蟲程式的最普遍的過程:

1.訪問站點

2.找到需要的資訊,並且定位好

3.獲得資訊後,進行處理

show the code

import requests

url =

''res = requests.get(url)

text = res.text

text

看一下結果

可以看到返回的其實就是開發者工具下elements的內容,只不過是字串型別,接下來我們要用python的內建函式find來定位「python之禪」的索引,然後從這段字串中取出它

通過觀察**,我們可以發現這段話在乙個特殊的容器中,通過審查元素,使用快捷鍵ctrl+shift+c快速定位到這段話也可以發現這段話包圍在pre標籤中,因此我們可以由這個特定用find函式找出具體內容

#將爬取內容存放在txt文件裡

with

open

('zon_of_python.txt'

,'w'

)as f:

f.write(text[text.find(')+

28:text.find(

'

')]

)#這裡的+28指的是從print

接下來,我們用金山詞霸來翻譯我們剛剛爬出來的python之禪

import requests

deftranslate

(word)

: url =

''data =

headers =

#user-agent會告訴**伺服器,訪問者是通過什麼工具來請求的,如果是爬蟲請求,一般會拒絕,如果是使用者瀏覽器請求就會應答

response = requests.post(url, data=data,headers=headers)

#發起請求

json_data = response.json(

)#獲取json資料

二、爬取豆瓣電影top250電影名稱和

當我們開啟時,發現電影每個頁面只顯示25個,要爬取top250這是個動態的過程需要看一下接下來url的變化。

?start=』+ str() +』&filter=』

這個就可以看出都豆瓣頁面的變化了。

當然也要檢視一下,我們所要資訊的定位。

廢話不多說,上**:

import requests

import os

ifnot os.path.exists(

'image'):

os.mkdir(

'image'

)def

parse_html

(url)

: headers =

res = requests.get(url, headers=headers)

text = res.text

item =

for i in

range(25

):text = text[text.find(

'alt')+

3:])

return item

defextract

(text)

: text = text.split(

'"')

name = text[1]

image = text[3]

return name, image

defwrite_movies_file

(item, stars)

:print

(item)

with

open

('douban_film.txt'

,'a'

, encoding=

'utf-8'

)as f:

f.write(

'排名:%d\t 電影名:%s\n'

)

看下輸出結果:

ok,這樣就可以大功告成了!

晶元封裝技術知多少

我們經常聽說某某晶元採用什麼什麼的封裝方式,在我們的電腦中,存在著各種各樣不同處理晶元,那麼,它們又是是採用何種封裝形式呢?並且這些封裝形式又有什麼樣的技術特點以及優越性呢?那麼就請看看下面的這篇文章,將為你介紹個中晶元封裝形式的特點和優點。一 dip雙列直插式封裝 dip dualin line ...

閘道器知多少

閘道器 gateway 顧名思義,就是乙個網路到另乙個網路的關口。維基百科對閘道器的定義為 在計算機網路中,閘道器 gateway 是 其他伺服器通訊資料的伺服器,接收從客戶端傳送來的請求時,它就像自己擁有資源的源伺服器一樣對請求進行處理。但是,很多時候,我們會將路由器和閘道器認為是同乙個概念。其實...

原型知多少

除了undefind,number,string,boolean是簡單的值型別,其他的null,object,function都是物件 函式有prototype屬性,它是物件,是函式屬性和方法的集合 每個物件都有乙個 proto 屬性 隱式原型 它指向建立這個物件的函式的原型 函式也是一種物件 ob...