電影天堂二級頁面抓取案例

2021-10-04 21:32:23 字數 2549 閱讀 1331

# 位址

電影天堂 -

2023年新片精品 - 更多

# 目標

# 分析

****

****

*一級頁面需抓取**

****

****

*1、電影詳情頁鏈結

****

****

*二級頁面需抓取**

****

****

*1、電影名稱

第1頁 :https:

第2頁 :https:

第n頁 :https:

1、一級頁面正規表示式

"100%"

.*?"5%"

.*?"(.*?)"

.*?ulink">

.*?<

/table>

2、二級頁面正規表示式

="title_all"

>

#07519a>(.*?)

.*?.*?>(.*?)

from urllib import request

import re

from useragents import ua_list

import time

import random

class

filmskyspider

(object):

def__init__

(self)

:# 一級頁面url位址

self.url =

''# 獲取html功能函式

defget_html

(self,url)

: headers =

req = request.request(url=url,headers=headers)

res = request.urlopen(req)

# 通過**檢視網頁原始碼,檢視**charset='gb2312'

# 如果遇到解碼錯誤,識別不了一些字元,則 ignore 忽略掉

html = res.read(

).decode(

'gb2312'

,'ignore'

)return html

# 正則解析功能函式

defre_func

(self,re_bds,html)

: pattern = re.

compile

(re_bds,re.s)

r_list = pattern.findall(html)

return r_list

# 獲取資料函式 - html是一級頁面響應內容

defparse_page

(self,one_url)

: html = self.get_html(one_url)

re_bds = r'.*?'

# one_page_list: ['/html/***','/html/***','/html/***']

one_page_list = self.re_func(re_bds,html)

for href in one_page_list:

two_url =

''+ href

self.parse_two_page(two_url)

# uniform: 浮點數,爬取1個電影資訊後sleep

time.sleep(random.uniform(1,

3))# 解析二級頁面資料

defparse_two_page

(self,two_url)

: item =

html = self.get_html(two_url)

re_bds = r'

.*?.*?>(.*?)'

# two_page_list: [('名稱1','')]

two_page_list = self.re_func(re_bds,html)

item[

'name'

]= two_page_list[0]

[0].strip(

) item[

'download'

]= two_page_list[0]

[1].strip(

)print

(item)

defmain

(self)

:for page in

range(1

,201):

one_url = self.url.

format

(page)

self.parse_page(one_url)

# uniform: 浮點數

time.sleep(random.uniform(1,

3))if __name__ ==

'__main__'

: spider = filmskyspider(

) spider.main(

)

案例 js二級聯動

這是js常用功能,比如省份和城市的聯動 這是頁面標籤 action 省份 pre select 城市 cy select form 這是資料 var provinces 請選擇省份 北京市 天津市 上海市 重慶市 江蘇省 浙江省 江西省 海南省 var citys 請選擇城市 北京市 天津市 上海市...

二級省市mysql 省市二級聯動小案例講解

在網頁開發過程中,選擇省市的時候,省市之間有關聯,這是乙個小小的二級聯動案例 運用到html css php js以及 ajax的非同步請求 首先建立city.php和province.php檔案和connet.html,將二級聯動的大概結構寫出來,html 如下 省份 請選擇 城市 請選擇 js ...

記憶體管理與二級頁面對映

記憶體管理 我們下面討論的記憶體均為物理記憶體。記憶體管理方案 1 分割槽 程式載入時,將程式載入到一塊分割槽上。1 固定分割槽 內部碎片 作業系統啟動前已經分配好 大小相等的固定分割槽 大小不等的固定分割槽 2 動態分割槽 外部碎片 程序執行時,才會動態分配記憶體空間 2 分頁 類似於大小相等的固...