python爬蟲 豆瓣電影

2021-07-04 07:35:37 字數 2941 閱讀 7177

最近學習python 順便寫下爬蟲練手

爬的是豆瓣電影排行榜

python版本2.7.6

// 安裝 beautiful soup

sudo apt-get install python-bs4

// 安裝 requests

sudo apt-get install python-requests

下面是py**

__author__ = 'wzz'

# -*- coding: utf-8 -*-

import requests

from bs4 import beautifulsoup

r = requests.get('')

page_code = beautifulsoup(r.text)

# 查詢clss為indent裡面的table標籤

items = page_code.select('.indent table')

line = '-----------------------------------'

# 根據評分顯示星星數量

def getstar(num):

str = ''

for i in range(0, 5):

# 等價於 num/2>i?'★':'☆'

str += '★'

if int(float(num))/2>i else

'☆'return str

foritem

initems:

# 查詢clss為pl2的div裡面的a標籤

name = item.select('div.pl2 a')[0]

# 刪除span標籤

name.span.unwrap()

# 去掉空格和換行

name = name.text.replace(' ', '').replace('\n', '')

actor = item.select('div.pl2 p.pl')[0]

actor = actor.text

score = item.select('span.rating_nums')[0]

score = score.text

num = item.select('span.pl')[0]

num = num.text

print '\n%s\n%s\n%s\n%s' %(name, line, actor, line)

# ★特殊字元不能用 %s 來輸出 有沒有知道的跟我說一下

print getstar(score), score, num

用物件導向改了下 加入時間

__author__ = 'wzz'

# -*- coding: utf-8 -*-

import requests

import time

from bs4 import beautifulsoup

# 豆瓣電影爬蟲

class

doubanmove:

def__init__

(self):

self.url = ''

self.line = '-----------------------------------'

# 根據url獲得頁面並提取陣列

defgetpageitem

(self):

r = requests.get(self.url)

page_code = beautifulsoup(r.text)

items = page_code.select('.indent table')

return items

# 根據評分顯示星星數量

defgetstar

(self, num):

str = ''

for i in range(0, 5):

# 等價於 num/2>i?'★':'☆'

str += '★'

if int(float(num))/2>i else

'☆'return str

defstart

(self):

print

'載入中...'

starttime = time.time()

items = self.getpageitem()

print

'用時:', time.time()-starttime, '秒'

for item in items:

# 查詢clss為pl2的div裡面的a標籤

name = item.select('div.pl2 a')[0]

# 刪除span標籤

name.span.unwrap()

# 去掉空格和換行

name = name.text.replace(' ', '').replace('\n', '')

actor = item.select('div.pl2 p.pl')[0]

actor = actor.text

score = item.select('span.rating_nums')[0]

score = score.text

num = item.select('span.pl')[0]

num = num.text

print

'\n%s\n%s\n%s\n%s' %(name, self.line, actor, self.line)

# ★特殊字元不能用 %s 來輸出 有沒有知道的跟我說一下

print self.getstar(score), score, num

dbmove = doubanmove()

dbmove.start()

參考**:

python爬蟲之獲取豆瓣電影資訊

本質就是 發起請求 獲取響應內容 解析內容 儲存資料首先,需要做的就是匯入模組pip install requests pip install lxml coding utf 8 import requests from lxml import etree 選取網頁並做解析 這裡以 titanic ...

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...