這次將從電影天堂獲取最新的電影的詳細資訊,這裡電影的資訊羅列的比較詳細。
下圖是《猩球崛起3》 的簡介,可以看到資訊還是很多的。
主要**如下:
import獲取的結果的如下:requests
import
refrom bs4 import
beautifulsoup
from time import
sleep
url = "
"url_index = "
/html/gndy/dyzz/list_23_
"def get_index(number = 1):
#傳入索引頁的頁碼,獲取標題和對應的詳情頁的url,將其構成字典返回
url = url_index + str(number) + "
.html"#
傳獲取html原始碼
res =requests.get(url)
res.encoding = "
gb2312
"text =res.text
#從索引頁的原始碼中獲取資訊所在的部分並返回
reg_name = r'
《(.+?)》
'reg_name =re.compile(reg_name)
soup = beautifulsoup(text,'
lxml')
soup = soup.select('
a["class=ulink"]')
mydict =dict()
for s in
soup:
try:
name =re.findall(reg_name,s.text)[0]
except
: name =str(number)
print("
在%s中獲取電影名失敗
" %s)
url = url + s['
href']
mydict[name] =url
if number == 1:
reg_number = r'
共(.+?)頁/
'reg_number =re.compile(reg_number)
max =re.findall(reg_number,text)[0]
return
max,mydict
else
:
return
mydict
defget_info(url):
#傳入詳情頁的url獲取電影的詳細的資訊
res =requests.get(url)
res.encoding = "
gb2312
"text =(res.text)
#print(text)
soup = beautifulsoup(text,'
lxml')
soup = soup.select('
div["id=zoom"]')
soup = soup[0].select("td"
)[0]
return
soup
defget_info_2(text):
reg_1 = r'
(.+?)
'reg_1 =re.compile(reg_1)
reg_2 = r'
(ftp:.+?)">
'reg_2 =re.compile(reg_2)
xunlei =re.findall(reg_2,text)
xunlei =xunlei[0]
info =re.findall(reg_1,text)
mylist =list()
for i in
info:
i = i.replace('
',''
) i = i.replace('
◎',''
) i = i.replace('
',''
)
return
xunlei,mylist
defdownload(dict):
for d in
mydict:
url_2 =mydict[d]
try:
text=str(get_info(url_2))
[xunlei,mylist] =get_info_2(text)
#print(xunlei)
f = open("
電影.txt
",'a')
f.write(xunlei+'\n'
)
for i in
mylist:
if'i:
pass
else
: f.write(i+'\n'
) f.write(
"\n\n")
f.close()
except
:
print("
" %d)
#if__name__ == "
__main__":
[max,mydict] =get_index()
download(mydict)
sleep(2)
for j in range(2,int(max)+1):
mydict =get_index(j)
download(mydict)
print("
" %j)
sleep(2)
python爬蟲之獲取豆瓣電影資訊
本質就是 發起請求 獲取響應內容 解析內容 儲存資料首先,需要做的就是匯入模組pip install requests pip install lxml coding utf 8 import requests from lxml import etree 選取網頁並做解析 這裡以 titanic ...
獲取12306最新的餘票資訊
最近也快到春運高峰期了,每年到這個時候都是鐵路部門最忙的時候,同時也是12306 以後都以 來代替 大考的時候,出於乙個技術人員對於 的好奇所以嘗試獲取它的最新資料。之前準備實現乙個第三方訂票系統,後來分析之後發現破解驗證碼這第一關就沒辦法完成,所以最後放棄這個想法。後來考慮即使不能通過第三方來訂票...
python 抓取https豆瓣電影資訊
1 豆瓣 為https,python需要模擬瀏覽器行為,新增請求頭資訊,2 開啟開發者工具,對資訊進行提取 2.1定位到電影資訊頭,先把關注的資訊提取出來 table re.findall r 顯示全部影片 data,re.s print table firsttable table 0 2.2 提...