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

2021-08-27 18:35:27 字數 3058 閱讀 4117

本質就是

發起請求  -->  獲取響應內容  -->   解析內容  -->   儲存資料
首先,需要做的就是匯入模組
pip install requests

pip install lxml

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

import requests

from lxml import etree

選取網頁並做解析

這裡以《titanic》作為案例:

要獲取我們需要的電影名,首先定位xml網頁中資訊,這裡就需要用到fire xpath外掛程式。

新增並安裝瀏覽器模組後,重啟瀏覽器生效。

在目標web頁面上查詢資訊的xpath

這裡電影標題的xpath為://*[@id=」content」]/h1/span[1]

這裡的xpath資訊要手動獲取,獲取方式如下:

1.如果你是用谷歌瀏覽器的話,滑鼠「右鍵」–>「檢查元素」

2. ctrl+shift+c將滑鼠定位到標題。

3.「右鍵」–> 「copy」–> 「copy xpath」就可以複製xpath

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

import requests

import json

from lxml import etree

import time

url = ''

data = requests.get(url).text

s=etree.html(data)

film_name = s.xpath('//*[@id="content"]/h1/span[1]/text()')

print json.dumps(film_name, encoding="utf-8", ensure_ascii=false)

據此,我們繼續抓取導演、主演、評分;

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

import requests

from lxml import etree

import time

import json

url = ''

data = requests.get(url).text

s=etree.html(data)

film_name=s.xpath('//*[@id="content"]/h1/span[1]/text()') #電影名

director=s.xpath('//*[@id="info"]/span[1]/span[2]/a/text()') #導演

actor=s.xpath('//*[@id="info"]/span[3]/span[2]/a/text()') #主演

movie_time=s.xpath('//*[@id="info"]/span[13]/text()') #片長

ds =

for d in director:

#以列表的形式輸出演員

acs =

for a in actor:

print

'movie:' + json.dumps(film_name, encoding="utf-8", ensure_ascii=false)

print

'director:' + json.dumps(ds, encoding="utf-8", ensure_ascii=false)

print

'actors:' + json.dumps(acs, encoding="utf-8", ensure_ascii=false)

print

'file length:' + json.dumps(movie_time, encoding="utf-8", ensure_ascii=false)

顯示結果:
movie:["鐵達尼號 titanic"]

director:["詹姆斯·卡梅隆"]

actors:["萊昂納多·迪卡普里奧", "凱特·溫絲萊特", "比利·贊恩", "凱西·貝茨", "弗蘭西絲·費舍", "格勞瑞亞·斯圖爾特", "比爾·帕克斯頓", "伯納德·希爾", "大衛·沃納", "維克多·加博", "喬納森·海德", "蘇茜·愛公尺斯", "劉易斯·阿伯內西", "尼古拉斯·卡斯柯恩", "阿那托利·薩加洛維奇", "丹尼·努齊", "傑森·貝瑞", "伊萬·斯圖爾特", "艾恩·格拉法德", "喬納森·菲利普斯", "馬克·林賽·查普曼", "理查德·格拉翰", "保羅·布賴特威爾", "艾瑞克·布里登", "夏洛特·查頓", "博納德·福克斯", "麥可·英塞恩", "法妮·布雷特", "馬丁·賈維斯", "羅莎琳·艾爾斯", "羅切爾·羅斯", "喬納森·伊萬斯-瓊斯", "西蒙·克雷恩", "愛德華德·弗萊徹", "斯科特·安德森", "馬丁·伊斯特", "克雷格·凱利", "格雷戈里·庫克", "利亞姆·圖伊", "詹姆斯·蘭開斯特", "艾爾莎·瑞雯", "盧·帕爾特", "泰瑞·佛瑞斯塔", "凱文·德·拉·諾伊"]

file length:["1997-12-19(美國)"]

遇到的問題:

輸出中文錯誤:

例如:

list = 

print

list

>>>

解決方法:
import json

list =

print json.dumps(list, encoding="utf-8", ensure_ascii=false)

>>>

python爬蟲 豆瓣電影

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

網路爬蟲之豆瓣電影

python作為最易上手的程式語言之一,在很多領域的應用已經相對成熟,尤其是一些工具應用類的場景,比如本文要介紹的網路爬蟲。網路爬蟲目前比較成熟的方法有三種,在python中都有現有打包好的包 庫,直接呼叫,非常方便。本篇部落格只關注網路爬蟲的應用層面,重點放在如何解決實際問題,所以對三種方法的理論...

python爬蟲獲取豆瓣電影top250的名字

最近面試了乙個爬蟲實習崗位,不知道能不能過,先學習一下爬蟲練練手.import re import urllib.request import urllib.error defget douban pages index 1 電影排名 偽裝成瀏覽器 header for i in range 0 1...