檢視上乙個專案,請看:
上乙個專案中獲取到了一定數量的電影url資訊,這次來獲取單個電影的電影詳情。
#對傳遞的url返回乙個名為soup的beautifulsoup物件
defget_url_html_soup
(url)
: header=request_body.get_header(
) proxies=request_body.get_proxy(
) req=requests.get(url=url,proxies=proxies,headers=header)
html=req.text
if req.status_code==
200:
print
("請求成功!"
) soup=bs4.beautifulsoup(html,
'lxml'
)return soup
if req.status_code!=
200:
print
("請求失敗!"
)
#因為url中有電影的id,所以這裡就用正規表示式來獲取url中的數字。
defget_movie_id
(url)
: movie_id = re.
compile
(r'\d'
) f = movie_id.findall(url)
k = file_operation.segmented(f)
id= k.replace(
' ','')
return
id
#將soup作為傳遞引數,從中獲取相應的資訊
# 返回影片標題
defget_movie_title
(soup)
: movie_name = soup.find(
'h1'
).text # 獲取電影標題
return movie_name
# 返回影片的導演名
defget_movie_directors
(soup)
: contents = soup.find(
'div',id
='info'
)# 構造正規表示式
directors = re.
compile
(r'導演:(.*)'
)# 在contents的文字內容中尋找與正規表示式匹配的內容(編譯執行正規表示式)
f = directors.findall(contents.text)[0
] lists =
str.split(f)
director_name = file_operation.segmented(lists)
return director_name
# 返回影片的編劇名
defget_movie_screenwriter
(soup)
: contents = soup.find(
'div',id
='info'
) screenwriter = re.
compile
(r'編劇:(.*)'
) f = screenwriter.findall(contents.text)[0
] lists =
str.split(f)
screenwriter_name = file_operation.segmented(lists)
return screenwriter_name
# 返回影片的主演名
defget_movie_character
(soup)
: contents = soup.find(
'div',id
='info'
) character = re.
compile
(r'主演:(.*)'
) f = character.findall(contents.text)[0
] lists =
str.split(f)
characters_name = file_operation.segmented(lists)
return characters_name
# 返回影片的型別
defget_movie_type
(soup)
: contents = soup.find(
'div',id
='info'
)type
= re.
compile
(r'型別:(.*)'
) f =
type
.findall(contents.text)[0
] lists =
str.split(f)
type_name = file_operation.segmented(lists)
return type_name
# 返回影片的製片國家/地區
defget_movie_country
(soup)
: contents = soup.find(
'div',id
='info'
) pattern = re.
compile
('製片國家/地區:(.*)'
) f = pattern.findall(contents.text)[0
] lists =
str.split(f)
country = file_operation.segmented(lists)
return country
需要將爬取的資訊放入mysql資料庫的話請看: python爬蟲爬取豆瓣電影資訊
我們準備使用python的requests和lxml庫,直接安裝完之後開始操作 目標爬取肖申克救贖資訊 傳送門 導入庫import requests from lxml import etree 給出鏈結 url 獲取網頁html前端 一行搞定,在requests中已經封裝好了 data reque...
爬蟲 豆瓣電影爬取案例
直接上 僅供參考。目標爬取資料是某地區的 正在上映 部分的資料,如下圖 完整 如下 usr bin python coding utf 8 from lxml import etree import requests 目標 爬取豆瓣深圳地區的 正在上映 部分的資料 注意點 1 如果網頁採用的編碼方式...
Python爬蟲之爬取豆瓣電影(一)
最近閒來無事 學習python爬蟲,爬取豆瓣電影 開啟豆瓣電影 按f12 重新整理豆瓣網頁,會發現network的xhr中有鏈結 貼上出鏈結 會出現如下json 說明這個是每個分類電影的標籤,是乙個get請求的api,如果在python中載入成字典,則包含以惡個tags,對應的值是乙個列表,裡面的每...