import pymysql
import re
from urllib import request
from urllib.request import urlopen
from concurrent.futures import threadpoolexecutor
# 貓眼top100**
url = ''
films_info =
# 找出top100全10頁的所有**
defget_all_url
(url, page):
url_li = [url]
for i in range(page - 1):
new_url = url + '?offset=%d' % ((i + 1) * 10)
return url_li
# 爬取資訊
defget_info
(url):
header =
req = request.request(url, headers=header)
with urlopen(req) as urlobj:
return urlobj.read().decode('utf-8')
# 正則提取需要的資訊
defget_content
(url):
info = get_info(url)
pattern = r'\
r'data-act="boarditem-click" data-val="\' \
r'">.*\s*\s*(主演:.*)\s*\s*' \
films_info.extend(re.findall(pattern, info))
defmain
(): res = get_all_url(url, 10)
# 多執行緒快速獲得資訊
with threadpoolexecutor(max_workers=10) as poor:
poor.map(get_content, res)
# 進入homework資料庫
conn = pymysql.connect(host='localhost', user='root', passwd='wl1009', db='homework', charset='utf8')
cur = conn.cursor()
try:
# 建立乙個films表
cur.execute('create table films (movie varchar(20),actor varchar(50),time varchar(40))')
# 新增資訊
insert_sql = 'insert into films values(%s,%s,%s)'
cur.executemany(insert_sql, films_info)
# 顯示資訊
cur.execute('select * from films')
print(cur.fetchall())
except exception as e:
print(e)
else:
print('資訊儲存成功...')
正規表示式簡單應用
boolean matches string 正則的規則 驗證字串是否符合正則規則 string split string 正則的規則 使用正則規則切割字串 string replaceall string 正則規則,string 字串 將字串中符合正則規則的子串替換為後面的字串 檢查qq是否合法 ...
正規表示式應用
d 非負整數 正整數 0 0 9 1 9 0 9 正整數 d 0 非正整數 負整數 0 0 9 1 9 0 9 負整數 d 整數 d 非負浮點數 正浮點數 0 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 正浮點數 d 非正浮點數 負浮點數 0 0 9 0 ...
正規表示式(應用)
在此頁面寫正規表示式,可以提供參考,和進行校驗 應用於前端 匹配任意長度的大小寫字母與數字 a za z0 9 匹配任意長度且不為空的大小寫字母與數字 a za z0 9 匹配長度小於20且不為空的大小寫字母與數字 a za z0 9 匹配長度小於20且不為空的大小寫字母與數字與漢字 a za z0...