目標**:電影票房網
目標**:
目標資料:(1)名次(2)電影名稱 (3)日期(4)票房 (5)總場次(6)廢場(7)人次(8)上座率(9)票價
任務要求
(1)使用urllib或requests庫實現該**網頁源**的獲取,並將源**進行儲存;
(2)自主選擇re、bs4、lxml中的一種解析方法對儲存的的源**讀取並進行解析,成功找到目標資料所在的特定標籤,進行網頁結構的解析;
(3)定義函式,將獲取的目標資料儲存到csv檔案中。
(4)使用框架式結構,通過引數傳遞實現整個特定資料的爬取。
下面展示一些內聯**片
。
import requests
from bs4 import beautifulsoup
import bs4
import csv
def gethtmltext
(url)
: headers =
try:
r = requests.
get(url, headers=headers)
r.raise_for_status()
return r.text
except requestexception as e:
print
('error'
, e)
def fillunivlist
(ulist, url)
: soup =
beautifulsoup
(url,
'html.parser'
)for tr in soup.
find
('tbody'
).children:
ifisinstance
(tr, bs4.element.tag)
: tds =tr(
'td'
)//票房一列為,tds[3]沒有資料
ulist.
([tds[0]
.contents[0]
,tds[1]
.string,tds[2]
.string,tds[4]
.string,tds[5]
.string,tds[6]
.string,tds[7]
.string,tds[8]
.string]
)
def printhtml_csv
(ulist)
:with
open
('d:\data.csv'
,'w'
,encoding=
'utf-8-sig'
,newline='')
as csvfile:
fieldnames=
['名次'
,'電影名稱'
,'日期'
,'總場次'
,'廢場'
,'人次'
,'上座率'
,'票價'
] writer=csv.
dictwriter
(csvfile,fieldnames=fieldnames)
writer.
writeheader()
for i in ulist:
writer.
writerow()
def main()
: uinfo=
for i in
range(11
):urls=
#print
(urls)
for url in urls:
html=
gethtmltext
(url)
fillunivlist
(uinfo,html)
printhtml_csv
(uinfo)
main
()
執行截圖
電影票房案例分析
import pandas as pd 載入資料 def read data file root dataframe pd.read csv file root print 資料的基本資訊 print dataframe.info print 資料的行是 i,列是 i dataframe.shape...
電影票房爬取到MySQL中 爬取最熱電影及票房統計
好久沒有去電影院看電影了,就寫個最熱電影和票房的統計吧,豆瓣電影排行什麼的作為爬蟲入門最合適不過了。同時學習或者溫習一下beautifulsoup 還有csv資料的儲存。這些就是各種各樣爬蟲的基礎和原理,說的不太準確爬蟲就是模擬瀏覽器get post請求,爬取 解析 儲存,再複雜的爬蟲也都是在這個基...
Python貓眼電影最近上映的電影票房資訊
前言 ps 如程式設計客棧有需要python學習資料的小夥伴可以加點選下方鏈結自行獲取 基本環境配置 相關模組pip安裝即可 目標 資料介面 請求網頁獲取資料 import requests url params cookies headers response requests.get url u...