1. 程式人生 > >python爬取豆瓣電影資訊

python爬取豆瓣電影資訊

'''
用到的主要知識:(詳情見官方文件)
 1. requests
 2. BeautifulSoup
 3. codecs
 4. os
'''
#-*-coding:utf-8
import requests
from bs4 import BeautifulSoup
import lxml
import os
import codecs
'''
s=requests.Session()  #設定session用來跨對話請求,這裡會自動儲存cookies
url='https://accounts.douban.com/login'    #登入豆瓣的頁面
headers={
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36',
'Referer':'https://accounts.douban.com/login'
         }   #設定請求頭

re=requests.get(url)
html=re.text
soup=BeautifulSoup(html,'lxml')
all_input=soup.find_all('input',type='hidden')
input_value=all_input[2].get('value')            #得到請求表單上的captcha-id的值
img_url=soup.find('img',id='captcha_image').get('src')
solution=str(raw_input('%s:'%img_url))          #得到驗證碼,這裡需要手動的輸入
#請求表單
formdata={
'source':'None',
'redir':'https://www.douban.com/',
'form_email':'
[email protected]
', 'form_password':'as676767as', 'captcha-solution':solution, 'captcha-id':input_value, 'login':'登入' } r=s.post(url,data=formdata,headers=headers) #post登入 #用來檢驗是否已經完成了登入 sec_url='https://www.douban.com/group/guide?guide=1' res=s.get(sec_url) print res.text '''
---------- ---------- **#以上是基本的思路,下面是用類將程式碼封裝起來**
class DouBan(): def __init__(self,log_url): self.log_url=log_url self.headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36', 'Referer': 'https://accounts.douban.com/login' } # 設定請求頭
self.s=requests.Session() #設定session #登入 def log_in(self): solution,input_value=self.get_captcha_solution_id() #設定登入的表單 formdata = { 'source': 'None', 'redir': 'https://www.douban.com/', 'form_email': 'username',#這裡填入自己的豆瓣賬號 'form_password': 'password',#這裡填入自己的賬號密碼 'captcha-solution': solution, 'captcha-id': input_value, 'login': '登入' } r = self.s.post(url, data=formdata, headers=self.headers) # post登入 #獲取登入介面的原始碼 def get_log_html(self): re = requests.get(self.log_url) html = re.text return html #獲取表單上的驗證碼和captcha-id def get_captcha_solution_id(self): html=self.get_log_html() soup=BeautifulSoup(html,'lxml') img_url = soup.find('img', id='captcha_image').get('src') solution=str(raw_input('%s:'%img_url)) all_input = soup.find_all('input', type='hidden') input_value = all_input[2].get('value') # 得到請求表單上的captcha-id的值 return solution,input_value #驗證是否能夠登入 def YZ(self): url='https://www.douban.com/group/guide?guide=1' re=self.s.get(url) print re.text '''下面是爬取豆瓣電影排行榜的電影的詳細資訊''' #獲得一頁的所有電影的url,當然如果想要獲得更多的url還是可以拓展的 def get_url(self): all_a=[] url='https://movie.douban.com/chart' re=self.s.get(url) html=re.text soup=BeautifulSoup(html,'lxml') all_div=soup.find_all('div',class_='pl2') for div in all_div: all_a.append(div.find('a').get('href')) #將所有的url儲存在一個列表中 return all_a #下載所有的資訊寫入檔案,這裡的filename是想要存入的路徑名 def get_info(self,filename): all_url=self.get_url() path=os.path.normpath(filename) #規範路徑名 os.mkdir(path) #建立路徑 file=os.path.join(path,'film.txt') #將路徑和檔名連在一起構成絕對路徑 f=codecs.open(file,'w',encoding='utf-8') #開啟檔案 for url in all_url: re=self.s.get(url) html=re.text soup=BeautifulSoup(html,'lxml') div=soup.find('div',id='info') h1=soup.find('h1') #獲得電影的標題 if div.text: text=h1.text+div.text #得到標籤之中的內容 print text f.write(text) f.close() #關閉檔案 if __name__=='__main__': url='https://accounts.douban.com/login' app=DouBan(url) app.log_in() filename='g:\\film' app.get_info(filename)

相關推薦

python豆瓣電影資訊

''' 用到的主要知識:(詳情見官方文件) 1. requests 2. BeautifulSoup 3. codecs 4. os ''' #-*-coding:utf-8 import requests from bs4 import Beautif

python豆瓣電影Top250的資訊

python爬取豆瓣電影Top250的資訊 2018年07月25日 20:03:14 呢喃無音 閱讀數:50 python爬取豆瓣電影Top250的資訊。 初學,所以程式碼的不夠美觀和精煉。 如果程式碼有錯,請各位讀者在評論區評論,以免誤導其他同學。 (

Python爬蟲入門 | 2 豆瓣電影資訊

這是一個適用於小白的Python爬蟲免費教學課程,只有7節,讓零基礎的你初步瞭解爬蟲,跟著課程內容能自己爬取資源。看著文章,開啟電腦動手實踐,平均45分鐘就能學完一節,如果你願意,今天內你就可以邁入爬蟲的大門啦~ 好啦,正式開始我們的第二節課《爬取豆瓣電影資訊

python 豆瓣電影案例

數據 odin span content html temp com str self # conding=utf-8 from parse import parse_url import json class DoubanSpider: def __init

python 豆瓣電影評論,並進行詞雲展示及出現的問題解決辦法

本文旨在提供爬取豆瓣電影《我不是藥神》評論和詞雲展示的程式碼樣例 1、分析URL 2、爬取前10頁評論 3、進行詞雲展示 1、分析URL 我不是藥神 短評 第一頁url https://movie.douban.com/subject/26752088/comments?start=0&limit=2

Python豆瓣電影的短評資料並進行詞雲分析處理

前言 對於爬蟲很不陌生,而爬蟲最為經典的案例就是爬取豆瓣上面的電影資料了,今天小編就介紹一下如果爬取豆瓣上面電影影評,以《我不是藥神》為例。 基本環境配置 版本:Python3.6 系統:Windows 本人對於Python學習建立了一個小小的學習圈子,為各位提供了

使用python豆瓣電影圖片(-)

學python沒多久,主要想用它來做爬蟲,寫api建議用node.js,做全站頁面渲染用php搞定,做爬蟲還得看python: 這裡沒有用python的一些爬蟲框架,先採用python內建模組urllib直接處理頁面抓取,然後解析內容然後直接下載圖片: 直接抓取豆瓣圖片

python豆瓣電影top250

簡要介紹:         爬取豆瓣電影top250上相關電影的資訊,包括影片連結、影片名稱、上映時間、排名、豆瓣評分、導演、劇情簡介。 使用:requests、etree、xpath 1、檢視網頁資訊,確定爬取的內容,建立資料庫: class SpiderData(pe

python貓眼電影資訊

爬取TOP100所有電影的資訊,(電影名, 主演, 上映時間) 爬取該電影的宣傳封面的圖片, 儲存到本地/mnt/img/目錄中; 將獲取的資訊, 儲存到mysql資料庫中(電影名, 主演, 上映時間, 封面圖片的本地路徑) import re #<

Python豆瓣電影Top250資料

初學pyhton,自己找個練手任務。爬取豆瓣電影top250,儲存為一個DataFrame資料格式,留待分析.(程式碼粗糙,留存) from bs4 import BeautifulSoup from urllib.request import url

python豆瓣電影TOP250獲取電影排名、電影名稱、電影別名、電影連結、導演、主演、年份、地點、型別、評分、評價人數、摘要、海報下載地址。

python小白,第一次爬蟲,如有不對的地方還請多多指出。用BeautifulSoup獲取電影排名、電影名稱、電影別名、電影連結、導演、主演、年份、地點、型別、評分、評價人數、摘要、海報下載地址。cur_url:每一頁的地址,例如:https://movie.douban.c

python 豆瓣電影排行榜TOP250 儲存到資料庫或檔案

 本篇文章爬取豆瓣電影排行榜,使用的模組:第三方模組requests,正則模組,資料庫MySQL等 import requests import re import pymysql class DouBan: def __init__(self):

python 豆瓣書籍資訊

繼爬取 貓眼電影TOP100榜單 之後,再來爬一下豆瓣的書籍資訊(主要是書的資訊,評分及佔比,評論並未爬取)。原創,轉載請聯絡我。 需求:爬取豆瓣某型別標籤下的所有書籍的詳細資訊及評分 語言:python 支援庫: 正則、解析和搜尋:re、requests、bs4、lxml

案例學python——案例三:豆瓣電影資訊入庫 一起學爬蟲——通過豆瓣電影top250學習requests庫的使用

  閒扯皮 昨晚給高中的妹妹微信講題,函式題,小姑娘都十二點了還迷迷糊糊。今天凌晨三點多,被連續的警報聲給驚醒了,以為上海拉了防空警報,難不成地震,空襲?難道是樓下那個車主車子被堵了,長按喇叭?開窗看看,好像都不是。好鬼畜的警報聲,家裡也沒裝報警器啊,莫不成家裡煤氣漏了?起床循聲而查,報警

python爬蟲——豆瓣電影top250資訊並載入到MongoDB資料庫中

最近在學習關於爬蟲方面的知識,因為剛開始接觸,還是萌新,所以有什麼錯誤的地方,歡迎大家指出 from multiprocessing import Pool from urllib.request import Request, urlopen import re, pymongo index

Python爬蟲】Scrapy框架運用1—豆瓣電影top250的電影資訊(1)

一、Step step1: 建立工程專案 1.1建立Scrapy工程專案 E:\>scrapy startproject 工程專案 1.2使用Dos指令檢視工程資料夾結構 E:\>tree /f step2: 建立spid

Python網路爬蟲:利用正則表示式豆瓣電影top250排行前10頁電影資訊

在學習了幾個常用的爬取包方法後,轉入爬取實戰。 爬取豆瓣電影早已是練習爬取的常用方式了,網上各種程式碼也已經很多了,我可能現在還在做這個都太土了,不過沒事,畢竟我也才剛入門…… 這次我還是利用正則表示式進行爬取,怎麼說呢,有人說寫正則表示式很麻煩,很多人都不

團隊-張文然-需求分析-python爬蟲分類豆瓣電影信息

工具 新的 翻頁 需求 使用 html 頁面 應該 一個 首先要明白爬網頁實際上就是:找到包含我們需要的信息的網址(URL)列表通過 HTTP 協議把頁面下載回來從頁面的 HTML 中解析出需要的信息找到更多這個的 URL,回到 2 繼續其次還要明白:一個好的列表應該:包含

Python開發簡單爬蟲之靜態網頁抓篇:豆瓣電影 Top 250”電影數據

模塊 歲月 python開發 IE 女人 bubuko status 公司 使用 目標:爬取豆瓣電影TOP250的所有電影名稱,網址為:https://movie.douban.com/top250 1)確定目標網站的請求頭: 打開目標網站,在網頁空白處點擊鼠標右鍵,

Python爬蟲入門 | 豆瓣電影信息

Python 編程語言 web開發這是一個適用於小白的Python爬蟲免費教學課程,只有7節,讓零基礎的你初步了解爬蟲,跟著課程內容能自己爬取資源。看著文章,打開電腦動手實踐,平均45分鐘就能學完一節,如果你願意,今天內你就可以邁入爬蟲的大門啦~好啦,正式開始我們的第二節課《爬取豆瓣電影信息》吧!啦啦哩啦啦,