爬蟲入門基礎專案

2021-10-05 03:20:07 字數 2363 閱讀 1087

在入手這個爬蟲專案之前,基礎知識的儲備包括:

python基礎知識

網頁資訊呈現方式(html/json)

資料獲得方式(post/get)

requests,唯一的乙個非轉基因的python http庫

獲取我們需要的內容(正規表示式/beautiful soup 4.4.0文件

精通正規表示式(第三版)【美】弗瑞德》是本好書,第三章開始就有點傻眼了,還需要在未來寫正規表示式時反覆翻閱。

上述標粗內容是我在寫爬蟲過程中需要反覆學習與查閱的內容。

對於我這乙個弱渣小白來說,實際上是邊抄邊思考並且進行總結與重現的乙個過程。

豆瓣電影top250

參考**

有樣學樣豆瓣影片top250

#!/usr/bin/env python3

# -*- coding: utf-8 -*-

"""豆瓣電影top250"""

"""注意:

開啟chrome的開發者工具(來觀察網頁結構

在windows和linux,對應的快捷鍵是"f12"

"""import codecs #更方便處理中文編碼的編碼解碼器,在新增之前,控制台返回內容不是中文,是編碼

import requests

from bs4 import beautifulsoup

download_url =

''defdownload_page

(url)

: headers =

# 伺服器通過校驗請求的u-a來識別爬蟲,這算是最簡單的一種反爬蟲機制了

# 通過模擬瀏覽器的u-a,能夠很輕鬆地繞過這個問題

# 不加header,返回b''

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

.content

#獲取某個網頁.全部內容

return data

defparse_html

(html)

:"""解析網頁示例,獲得電影名"""

soup = beautifulsoup(html , features=

"lxml"

)# 如果不寫,就是no parser was explicitly specified

movie_list_soup = soup.find(

'ol'

, attrs =

) movie_name_list =

for movie_li in movie_list_soup.find_all(

'li'):

detail = movie_li.find(

'div'

, attrs =

) movie_name = detail.find(

'span'

, attrs =

).gettext(

)

next_page = soup.find(

'span'

, attrs =

).find(

'a')

if next_page:

return movie_name_list, download_url + next_page[

'href'

]return movie_name_list,

none

defmain()

:#"""將獲取到的內容全部列印出來"""

"""程式拼裝,並將結果輸出到乙個檔案中"""

url = download_url

with codecs.

open

('d:/practice/python_codes/web_scraping_with_python/movies.txt'

,'wb'

,encoding=

'utf-8'

)as fp:

while url:

html = download_page(url)

movies, url = parse_html(html)

fp.write(u'\n'

.format

(movies =

'\n'

.join(movies)))

#print (download_page(download_url))

if __name__ ==

'__main__'

:"""主函式"""

main(

)

下一步,將基於此開展中文影視知識圖譜構建研究。

爬蟲入門 01 爬蟲基礎了解

爬蟲,即網路爬蟲,大家可以理解為在網路上爬行的乙隻蜘蛛,網際網路就比作一張大網,而爬蟲便是在這張網上爬來爬去的蜘蛛咯,如果它遇到資源,那麼它就會抓取下來。想抓取什麼?這個由你來控制它咯。比如它在抓取乙個網頁,在這個網中他發現了一條道路,其實就是指向網頁的超連結,那麼它就可以爬到另一張網上來獲取資料。...

爬蟲基礎入門(一)

爬蟲的作用根據是否獲取資料為目的,分類 功能性爬蟲,比如,投票,點讚 資料增量爬蟲,比如招聘資訊 爬蟲的流程robots協議 通過robots協議,告訴我們搜尋引擎哪些頁面可以抓取,哪些頁面不能抓取,但它僅僅是道德層面上的約束。http的重點請求頭 user agent 告訴對方伺服器是什麼客戶端正...

Python 爬蟲基礎入門

1.你是否在夜深人靜的時候,想看一些會讓你更睡不著的卻苦於沒有資源?2.你是否在節假日出行高峰的時候,想快速搶購火車票成功?3.你是否在網上購物的時候,想快速且精準的定位到口碑質量最好的商品?通過編寫程式,模擬瀏覽器上網,然後讓其去網際網路上抓取資料的過程。抓取網際網路上的資料,為我所用,有了大量的...