Python爬蟲實戰 豆瓣電影top250

2021-07-27 16:40:32 字數 2450 閱讀 9681

很多天沒有發部落格了,這幾天在弄乙個文字相似度的專案,問題乙個接乙個,忙活了好幾天。

今天分享一下之前的寫的爬蟲,用來爬豆瓣電影的top250。

首先,f12看看電影的資訊在**

每個電影的資訊都在這個class="item"的塊中,好的,這下好辦了,找到這個塊,就可以乙個個把裡面的東西抓出來了。

好了,原始碼在這裡,注釋都寫的很詳細了。

#!/usr/bin/python

# -*- encoding:utf-8 -*-

"""@author : kelvin

@file : douban_movie

@time : 2017/2/22 23:04

@description :

"""import sys

import requests

import re

from bs4 import beautifulsoup

import csv

reload(sys)

sys.setdefaultencoding('utf-8')

# 先建立乙個csv檔案,寫好頭部

with open("douban_top250_movies.csv", 'w') as filed: # a+為新增,w為擦除重寫

csv_writer = csv.dictwriter(filed, [

u'片名',

u'評分',

u'評分人數',

u'一句話描述',

u'豆瓣鏈結',

])csv_writer.writeheader()

def get_mov_info(response):

mov_info = {}

soup = beautifulsoup(response.text, "lxml")

movies = soup.find_all('div', class_="info")

for info in movies: # 從包含電影資訊的塊來尋找

# 獲得電影的中文名

mov_info['mov_name'] = info.find('span', class_='title').text # find()只找到乙個,結果以樹結構返回

# 獲得電影在豆瓣中的鏈結

mov_info['mov_link'] = info.find('a').get('href')

# 找到評分以及評價人數

rating_num = info.find(class_='rating_num')

mov_info['rating_score'] = rating_num.text

comment = rating_num.find_next_sibling().find_next_sibling()

# 對評價字段切分

comment_num = re.findall('\d', comment.text)

mov_info['comment_nums'] = comment_num[0] # 正則匹配re中沒有find(),findall()以列表形式返回結果

# 獲得一句話評價

comment_one = info.find('span', class_='inq')

if comment_one is none: # 處理沒有一句話評價的情況

mov_info['inq_comment'] = u' '

else:

mov_info['inq_comment'] = comment_one.text

print mov_info

# 一條條存入csv檔案

write_csv(mov_info)

def write_csv(info_dict):

with open("douban_top250_movies.csv", 'a+') as f:

csv_write = csv.dictwriter(f, [

u'片名',

u'評分',

u'評分人數',

u'一句話描述',

u'豆瓣鏈結',

])csv_write.writerow()

for num in xrange(0, 10): # 遍歷所有頁數

page = num * 25

response = requests.get("" % page)

print response

get_mov_info(response)

爬下來這些資訊可以幹嘛?哈哈哈,當然是乙個個去看完它!

python爬蟲 豆瓣電影

最近學習python 順便寫下爬蟲練手 爬的是豆瓣電影排行榜 python版本2.7.6 安裝 beautiful soup sudo apt get install python bs4 安裝 requests sudo apt get install python requests下面是py a...

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