python爬取电影票房网并保存csv
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                python爬取电影票房网并保存csv
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                目標網站:電影票房網
目標網址:http://58921.com/daily/wangpiao
目標數據:(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 csvdef getHTMLText(url):headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.62 Safari/537.36'}try:r = requests.get(url, headers=headers)r.raise_for_status()r.encoding = r.apparent_encodingreturn r.textexcept RequestException as e:print('error', e)def fillUnivList(ulist, url):soup = BeautifulSoup(url, 'html.parser')for tr in soup.find('tbody').children:if isinstance(tr, bs4.element.Tag):tds = tr('td')//票房一列為圖片,tds[3]沒有數據ulist.append([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({'名次':i[0],'電影名稱':i[1],'日期':i[2],'總場次':i[3],'廢場':i[4],'人次':i[5],'上座率':i[6],'票價':i[7]})def main():uinfo=[]for i in range(11):urls={"http://58921.com/daily/wangpiao?page= "+ str(i)}#print(urls)for url in urls:html=getHTMLText(url)fillUnivList(uinfo,html)printHtml_csv(uinfo)main()運行截圖
 
總結
以上是生活随笔為你收集整理的python爬取电影票房网并保存csv的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 程序员必须了解的10大技术搜索引擎
- 下一篇: 计算机组装考核记录表,电脑组装与维护考核
