宣告:利用requests+正規表示式爬取貓眼電影,學習全過程記錄與體會。
1.系統環境:ubuntu 14.04 lts
2.編譯環境:python3.4.3
3.依賴庫: requests re json multiprocessing
#!/bin/python3
import requests
from multiprocessing import pool
from requests.exceptions import requestexception
import re
import json
defget_one_page
(url)
: headers =
try:
response=requests.get(url,headers=headers)
if response.status_code ==
200:
return response.text
return
none
except requestexception:
return
none
defparse_one_page
(html)
: pattern = re.
compile
('.*?board-index.*?">(\d+).*?data-src="(.*?)".*?.*?name">(.*?)'
+'.*?star">(.*?)
.*?releasetime">(.*?)'+
'.*?integer">(.*?).*?fraction">(.*?).*?'
,re.s)
items = re.findall(pattern,html)
print
(items)
for item in items:
yield
defwrite_to_file
(content)
:with
open
('result.txt'
,'a'
,encoding=
'utf-8'
)as f:
f.write(json.dumps(content,ensure_ascii=
false)+
'\n'
)def
main
(offset)
: url =
''html = get_one_page(url)
for item in parse_one_page(html)
:
write_to_file(item)
if __name__==
'__main__'
: pool = pool(
) pool.
map(main,
[i*10
for i in
range(10)])
這是github位址
result.txt是新生成的純文字文件,儲存爬取的主要資訊。
re模組過於複雜,可以嘗試使用bs解析html。匯出的文件排版很不清晰,不便於檢視與使用,可以試試生成新的html檔案,或者excel**。
python3 教程 | 菜鳥教程
python正規表示式 | 菜鳥教程
python 多型 知乎 Python學習 第一遍
python的學習 第一遍 工具的使用 anaconda工具的使用 執行python 環境3.x idle 執行 ipo模式 i input輸入,程式的輸入 p process 處理,程式的主要邏輯 o out 輸出,程式的輸出 通過計算技術解決溫度轉換 問題 如何利用python程式進行攝氏度和華...
試著用Python玩一下跳一跳
跳一跳自2017年12月28日推出後,在18年初火了,3個多月過去了,這個遊戲已經過了最火的時候。由於自己會在有空的時候看下python類的文章,饒有興趣,無意中看到了用python來玩跳一跳,特別想親自試一下。在照著網上的例子試驗過程中並非一蹴而就,總會遇到各種問題,最終花了2個多小時才弄好,因此...
用python來玩微信跳一跳
一 準備工具 安卓手機 開啟手機除錯模式 usb線接好手機和電腦 pycharm 專門用於python開發的ide工具 實現原理 gui 布局 建立視窗 新增控制項 顯示視窗 二 關於python 模組的安裝,和 1.在電腦上安裝python 我用的是win10和phthon3.6版本 安裝步驟和借...