小白flag10 爬蟲爬取豆瓣電影寫入csv
json化
csv檔案操作學習
import requests
import json
from requests.packages.urllib3.exceptions import insecurerequestwarning # 解決警告
class
douban_movie()
:def
__init__
(self)
: self.rowcount =
input
('輸入你想要的電影個數'
)# 獲取文章內內容
defmovie_url
(self, rowcount)
: requests.packages.urllib3.disable_warnings(insecurerequestwarning)
# 解決警告
url =
''+ self.rowcount +
'&page_start=0'
headers =
response = requests.get(url, headers=headers, verify=
false
, timeout=30)
text = response.text
return text
# 分析獲取的內容解析
defjson_dispose
(self, text)
: content = json.loads(text)
content = content.get(
'subjects'
) movie_list =
list()
for content in content:
movie =
dict()
rate = content.get(
'rate'
) title = content.get(
'title'
) url = content.get(
'url'
) movie[
'rate'
]= rate
movie[
'title'
]= title
movie[
'url'
]= url
movie_list =
sorted
(movie_list, key=
lambda x: x[
'rate'
], reverse=
true
)# sorted 加 lambda實現排序 reverse=true實現倒敘
return movie_list
# json寫入檔案csv
defoutput_csv
(self, datalist)
:# print(type(datalist), len(datalist))
import csv
# 準備好儲存的csv檔案
csv_file =
open
("douban_data.csv"
,'w'
, newline=
'', encoding=
'utf-8-sig'
)# 解決中文亂碼問題
writer = csv.writer(csv_file)
writer.writerow(
['評分'
,'作品名稱'
,'豆瓣鏈結'])
for data in datalist:
writer.writerow(
[data[
'rate'
], data[
'title'
], data[
'url']]
) csv_file.close(
)# 執行函式
defrun
(self)
: result = self.json_dispose(self.movie_url(self.rowcount)
) self.output_csv(result)
print
("爬蟲完畢,檔案已生成。快去檢視吧"
)if __name__ ==
'__main__'
: movie = douban_movie(
) movie.run(
)
爬蟲 豆瓣電影爬取案例
直接上 僅供參考。目標爬取資料是某地區的 正在上映 部分的資料,如下圖 完整 如下 usr bin python coding utf 8 from lxml import etree import requests 目標 爬取豆瓣深圳地區的 正在上映 部分的資料 注意點 1 如果網頁採用的編碼方式...
Python爬蟲 爬取豆瓣電影(二)
檢視上乙個專案,請看 上乙個專案中獲取到了一定數量的電影url資訊,這次來獲取單個電影的電影詳情。對傳遞的url返回乙個名為soup的beautifulsoup物件 defget url html soup url header request body.get header proxies req...
python爬蟲爬取豆瓣電影資訊
我們準備使用python的requests和lxml庫,直接安裝完之後開始操作 目標爬取肖申克救贖資訊 傳送門 導入庫import requests from lxml import etree 給出鏈結 url 獲取網頁html前端 一行搞定,在requests中已經封裝好了 data reque...