日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python爬虫实例——中国电影票房

發布時間:2023/12/10 python 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python爬虫实例——中国电影票房 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

剛好最近在做一個關于中國電影市場的分析,所以這篇實例就誕生啦!!!

一、觀察網頁

我所爬取的網站是:中國票房——年度票房。
網址甩出來:http://www.cbooo.cn/year?year=2019

我們需要的數據是從2015年到2019年,每部電影的名稱詳情頁url、類型、總票房國家及地區、上映日期

點進去的頁面是介個樣子滴~它總共有25條數據,就是2019年的TOP25!

左上角框出來的地方是可以選擇年份的,我們可以通過它來觀察不同年份間url的相似點。如下圖:我們觀察到他們的網址是有規律的,即:http://www.cbooo.cn/year?year= + 年份 這樣我們就可以直接獲取到所有的網址

二、分步實現

1.導包
導入我們所需要的包

import os import requests from lxml import etree import pandas as pd

2.定義獲取數據的函數
因為每年都要請求一遍,所以為了方便,我們將它寫成一個函數,直接調用,方便我們自己。

headers = {'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) \AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'} cookies = {'SUB':'_2A25wmfkgDeRhGeBI4lcU9irOzD2IHXVQZYdorDV6PUJbkdAKLUvAkW1NRkZNESdNnLdqXAeecDulr43bOma1k9ut'} def get_data(url):r = requests.get(url, headers=headers, cookies=cookies, timeout=30)r.raise_for_status() #查看是否正常,正常返回200,否則返回404等r.encoding='utf-8'return r.text

此函數會返回url的網頁源代碼的內容,以url='http://www.cbooo.cn/year?year=2019’為例,下圖為get_data后的結果,得到data后,我們就可以解析它,獲取到我們想要的部分

3.提前創建csv表

local_data='D:/Learn' local_main2=local_data+'/'+'movie.csv'#設置路徑 if not os.path.exists(local_main2):data = pd.DataFrame(columns=['電影名稱','電影詳情頁','電影類型','電影票房','國家及地區','上映時間'])data.to_csv(local_main2,index = None,encoding="utf_8_sig")

經過創建,在D盤下的learn文件夾下就會建好一個名為movie的csv空表。如下圖:

4.獲取近五年url

urls=[] for year in range(5):urls.append('http://www.cbooo.cn/year?year={}'.format(2019-year))

結果如下:


5.獲取我們需要的信息
這里我使用的是xpath,使用beautifulsoup也可以達到同樣的效果

for url in urls:data = get_data(url)selector = etree.HTML(data)url = selector.xpath('//td[@class="one"]/a/@href') #詳情頁urlname = selector.xpath('//td[@class="one"]/a/@title') #電影名稱movie_type = selector.xpath('//*[@id="tbContent"]//tr//td[2]/text()') #電影類型box_office = selector.xpath('//*[@id="tbContent"]//tr//td[3]/text()') #電影票房country = selector.xpath('//*[@id="tbContent"]//tr//td[6]/text()') #國家及地區time = selector.xpath('//*[@id="tbContent"]//tr//td[7]/text()') #上映時間

6.將獲取的信息存入剛創建的csv

for i in range(len(url)):data = pd.DataFrame({'電影名稱':name[i],'電影詳情頁':url[i],'電影類型':movie_type[i],'電影票房':box_office[i],'國家及地區':country[i],'上映時間':time[i]},columns=['電影名稱','電影詳情頁','電影類型','電影票房','國家及地區','上映時間'],index=[0])data.to_csv(local_main2,index = None,mode = 'a' ,header= None,sep=',',encoding="utf_8_sig")

至此,我們的電影票房就獲取完成啦!

三、匯總代碼

完整代碼如下:

# -*- coding: utf-8 -*- """ Created on Sat Dec 7 09:57:06 2019@author: chensiyi """import os import requests from lxml import etree import pandas as pdheaders = {'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) \AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'} cookies = {'SUB':'_2A25wmfkgDeRhGeBI4lcU9irOzD2IHXVQZYdorDV6PUJbkdAKLUvAkW1NRkZNESdNnLdqXAeecDulr43bOma1k9ut'} def get_data(url):r = requests.get(url, headers=headers, cookies=cookies, timeout=30)r.raise_for_status() #查看是否正常,正常返回200,否則返回404等r.encoding='utf-8'return r.textlocal_data='D:/Learn' local_main2=local_data+'/'+'movie.csv'#設置路徑 if not os.path.exists(local_main2):data = pd.DataFrame(columns=['電影名稱','電影詳情頁','電影類型','電影票房','國家及地區','上映時間'])data.to_csv(local_main2,index = None,encoding="utf_8_sig")urls=[] for year in range(5):urls.append('http://www.cbooo.cn/year?year={}'.format(2019-year))for url in urls:data = get_data(url)selector = etree.HTML(data)url = selector.xpath('//td[@class="one"]/a/@href') #詳情頁urlname = selector.xpath('//td[@class="one"]/a/@title') #電影名稱movie_type = selector.xpath('//*[@id="tbContent"]//tr//td[2]/text()') #電影類型box_office = selector.xpath('//*[@id="tbContent"]//tr//td[3]/text()') #電影票房country = selector.xpath('//*[@id="tbContent"]//tr//td[6]/text()') #國家及地區time = selector.xpath('//*[@id="tbContent"]//tr//td[7]/text()') #上映時間for i in range(len(url)):data = pd.DataFrame({'電影名稱':name[i],'電影詳情頁':url[i],'電影類型':movie_type[i],'電影票房':box_office[i],'國家及地區':country[i],'上映時間':time[i]},columns=['電影名稱','電影詳情頁','電影類型','電影票房','國家及地區','上映時間'],index=[0])data.to_csv(local_main2,index = None,mode = 'a' ,header= None,sep=',',encoding="utf_8_sig")

爬取的數據如下(部分):

總結

以上是生活随笔為你收集整理的python爬虫实例——中国电影票房的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 精品乱码一区二区三区四区 | 精品国产免费观看 | www.在线播放 | 57pao国产成永久免费视频 | 国产精品无码免费在线观看 | 中文字幕日韩高清 | 米奇久久| 国产精品久久久久毛片软件 | 不卡一区二区三区四区 | 国产伦理在线 | av解说在线观看 | 成人在线观看免费 | 深爱婷婷 | 国产成人综合视频 | 永久免费av无码网站性色av | 日韩五月| 插插插日日日 | 黄色一级黄色片 | 青青草手机视频在线观看 | 精品少妇无码av无码专区 | 亚洲高清二区 | 麻豆乱码国产一区二区三区 | 亚洲黄片一区二区 | 少妇无套内谢久久久久 | 午夜精品久久久久久久99热浪潮 | 高潮又黄又刺激 | 欧美成人片在线 | 综合激情网五月 | 精品天堂 | 欧美日韩精品二区 | 乳孔很大能进去的av番号 | 久久国产精品网 | 亚洲精品乱码久久久久久蜜桃动漫 | 久草免费在线视频 | 欧美成人aa| www.玖玖玖 | 亚洲色图网友自拍 | 9色av| 日韩在线精品强乱中文字幕 | 亚洲女则毛耸耸bbw 边吃奶边添下面好爽 | 国产精品第9页 | 你懂得在线视频 | 成人在线天堂 | 女同vk| 精品人妻中文无码av在线 | 日本色视 | 日韩一二三四五区 | 国产熟女高潮一区二区三区 | 双乳被四个男人吃奶h文 | 爱情岛av| 久久久这里有精品 | 日韩欧美黄色片 | 久久艹伊人 | 亚洲乱熟 | 精品国产丝袜一区二区三区乱码 | 拔插拔插海外华人永久免费 | 欧美成人va | 中文字幕8 | 日韩经典午夜福利发布 | 国产精一区 | 黄色片免费播放 | 台湾佬美性中文娱乐网 | 日本免费网站 | 999久久久精品 | 中文字幕不卡视频 | 亚洲欧美动漫 | 久久久毛片 | 欧美精品性视频 | 涩涩涩av| 亚洲 欧美 自拍偷拍 | 色妞色视频一区二区三区四区 | 亚洲AV无码精品色毛片浪潮 | 伊人中文在线 | 国产精品久久久久久久蜜臀 | 国产精品久久一区 | 免费人成视频在线 | 中国女人内谢69xxxxⅹ视频 | freesex性hd公交车上 | 精品国产综合区久久久久久 | 久久精品视频免费 | 林天顾悦瑶笔趣阁 | 69日本xxxxxxxxx30 在线波多野结衣 | 日本一级黄色录像 | 男女视频免费观看 | 免费网站在线观看人数在哪动漫 | 夜夜嗨av禁果av粉嫩av懂色av | 黄网址在线观看 | 观看av免费| 亚洲一区免费在线观看 | 久操操| 久久久久无码精品国产 | 在线观看亚洲区 | 久久精品视频无码 | 韩国激情呻吟揉捏胸视频 | 日韩av网站在线播放 | 又污又黄的视频 | 久久国产精品久久精品国产 | 日本黄色网络 | 成人深夜小视频 |