一、爬取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...