在入手這個爬蟲專案之前,基礎知識的儲備包括:
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.你是否在網上購物的時候,想快速且精準的定位到口碑質量最好的商品?通過編寫程式,模擬瀏覽器上網,然後讓其去網際網路上抓取資料的過程。抓取網際網路上的資料,為我所用,有了大量的...