# encoding:utf-8
import requests
import re
import json
from multiprocessing import pool # 多執行緒模組
# 獲取網頁源**
def get_one_page(url):
# 新增頭資訊
html = requests.get(url, headers=headers)
if html.status_code == 200:
return html.text
return none
# 根據正規表示式提取資訊
def parse_one_page(html):
pattern = re.compile('.*?board-index.*?>(\d+).*?title="(.*?)".*?data-src="(.*?)".*?star">(.*?)
.*?'
+ 'releasetime">(.*?)
.*?integer">(.*?).*?fraction">(.*?).*?', re.s)
data = re.findall(pattern,html)
for item in data:
yield
# 將提取得資料寫人檔案
def write_of_file(content):
# 'a'保留原先的內容,在尾部寫入,因為用的是for迴圈寫入,如果用'w'寫入只會保留最後一組的資料,或者早開啟檔案,寫入完在關閉,encoding='utf-8'以utf-8編碼
with open('result.txt', 'a', encoding='utf-8') as f:
# ensure_ascii = false使中文正常輸出
f.write(json.dumps(content, ensure_ascii=false) + '\n')
f.close()
# 主函式
def main(offset):
# 要爬取的**
url = "" + str(offset)
html = get_one_page(url)
for item in parse_one_page(html):
print(item)
write_of_file(item)
if __name__ == '__main__':
# 定義多執行緒
pool = pool()
pool.map(main, [i * 10 for i in range(10)])
爬取貓眼TOP100
學完正則的乙個小例子就是爬取貓眼排行榜top100的所有電影資訊 看一下網頁結構 可以看出要爬取的資訊在標籤和標籤中間 正規表示式如下 pattern re.compile board index.data src name.a.star releasetime integer fraction r...
爬取貓眼top100
導入庫 json用於讀取和寫入檔案 requests請求html requestexception用於獲取requests錯誤 time定義時間 re正規表示式 import json import requests from requests.exceptions import requestex...
爬蟲 爬取貓眼TOP100
原文崔慶才 python3網路爬蟲實戰 目標 熟悉正規表示式,以及爬蟲流程 獲取貓眼top100榜單 1 分析 目標站點為需要獲取 top100榜單的影片名稱 主演 上映時間 地區 評分等資訊都直接顯示在network對應的response中,可解析對應的html進行獲取。且從第1頁到第二頁,url...