?終於成功的寫入了excel
1 人贊了文章
一直在學習 @Python程序員 的文章,受益匪淺
非常感謝
以下是學習的一個成果
爬取豆瓣電影
https://movie.douban.com/explore#!type=movie&tag=%E7%83%AD%E9%97%A8&sort=recommend&page_limit=20&page_start=0首先載入上面的鏈接↗
找到Request URL
https://movie.douban.com/j/search_subjects?type=movie&tag=%E7%83%AD%E9%97%A8&sort=recommend&page_limit=20&page_start=0
其中,
page_limit=20 表示每次頁面載入20個電影
page_start=0 表示從第0頁開始
這步用於構造urls,連續爬取多頁
接著:
分析json對象(不知道怎麼說,先這麼說吧)
cover:海報
id:電影id
rate:評分
title:標題
url:電影鏈接
下面寫代碼:
#用到的庫import xlwtimport requestsimport jsonimport timedef douban_movie(url): movie_list=[] r = requests.get(url,verify=False) content=r.content result=json.loads(content) time.sleep(5) movies=result[subjects] for i in movies: movie=[] movie.append(i[title]) movie.append(i[rate]) movie.append(i[cover]) movie.append(i[url]) movie_list.append(movie) json.dumps(movie_list,ensure_ascii=False,indent=2) return movie_listdef main(): i=int(input(要爬取幾頁:)) info_result=[] title = [電影名稱,評分,海報,豆瓣鏈接] info_result.append(title) urls=[https://movie.douban.com/j/search_subjects?type=movie&tag=%E7%83%AD%E9%97%A8&sort=recommend&page_limit=20&page_start={}.format(str(a)) for a in range(0,i*20,20)] for url in urls: movie_list=douban_movie(url) info_result = info_result+movie_list #創建excel book=xlwt.Workbook(encoding=utf-8) sheet=book.add_sheet(list_movies) for i,row in enumerate(info_result): for j,col in enumerate(row): sheet.write(i,j,col) book.save(list_movies.xls)if __name__=="__main__": main()
Excel中的展示:
雖然中間遇到很多困難
但是最終克服了真開心
推薦閱讀:
※case1: 爬取豆瓣top250排行榜的所有電影的信息
※開發經驗高達8年的大神分享爬蟲入門。
※Python爬蟲學習之(二)| urllib進階篇
※解讀爬蟲中HTTP的秘密(基礎篇)
※Python爬取上萬張QQ頭像圖片
TAG:python爬蟲 |