爬取海王電影20180101-20190101影評
import json
import time
from datetime import datetime, timedelta
import requests
# 傳送請求,獲取響應
defget_data
(url)
: headers =
response = requests.get(url, headers=headers)
if response.status_code ==
200:
# print(response.encoding)
return response.text
return
none
# 解析響應
defparse_html
(html)
: data = json.loads(html)
['cmts'
]# 將str轉化json
comments =
for item in data:
comment =
return comments
# 主函式
defmain(id
, start_time, end_time)
:while start_time > end_time:
url =
''+str(id
)+'.json?' \
'_v=yes&offset=0&starttime='
+ start_time.replace(
' ',
'%20'
)# print(url)
html =
none
# 傳送請求,獲取響應
try:
html = get_data(url)
print
(html)
except exception:
time.sleep(
0.5)
else
: time.sleep(
0.1)
# 解析響應
comments = parse_html(html)
# print(comments)
# print(len(comments))
start_time = comments[14]
['starttime'
] start_time = datetime.strptime(start_time,
'%y-%m-%d %h:%m:%s'
)+ timedelta(seconds=-1
) start_time = datetime.strftime(start_time,
'%y-%m-%d %h:%m:%s'
)# 轉化為字串
# 儲存資料
for item in comments:
with
open
('海王影評2018.txt'
,'a'
, encoding=
'utf-8'
)as f:
f.write(
str(item[
'id'])
+'\t'
+ item[
'cityname']+
'\t'
+ item[
'content']+
'\t'
+str
( item[
'score'])
+'\t'
+ item[
'starttime']+
'\n'
)
if __name__ ==
'__main__'
:# url = 249342.json?_v=yes&offset=0&starttime=2019-01-01%2000:00:00id=
249342
start_time =
'2019-01-01 00:00:00'
end_time =
'2018-01-01 00:00:00'
main(
id, start_time, end_time)
網路爬蟲二
網路抓取系統分為核心和擴充套件元件兩部分。核心部分是乙個精簡的 模組化的爬蟲實現,而擴充套件部分則包括一些便利的 實用性的功能。目標是盡量的模組化,並體現爬蟲的功能特點。這部分提供簡單 靈活的api,在基本不改變開發模式的情況下,編寫乙個爬蟲。擴充套件元件部分提供一些擴充套件的功能,內建了一些常用的...
網路爬蟲二
一 正規表示式 正規表示式 regular expression 又稱規則表示式,它是對字串操作的一種邏輯公式,即用事先定義好的一些特定字元以及這些特定字元的組合,組成乙個 規則字串 這個 規則字串 用來表達對字串的一種過濾邏輯。電腦科學的乙個概念。正規表示式通常被用來檢索 替換那些符合某個模式 規...
python網路爬蟲(二)
在第一篇中,我們介紹了如何進行發起乙個http請求,並接受響應。在這一部分中,我們介紹一下如何解析網頁並提取我們需要的資料。我們採用requests這個庫進行乙個網頁請求。r requests.get headers,kwargs 通過這一句 我們即可獲得伺服器傳給我們的響應內容 不考慮連線錯誤等情...