爬取豆瓣網電影資訊

2021-07-08 10:43:01 字數 1608 閱讀 2513

#coding:utf-8

import urllib2

import bs4

from bs4 import beautifulsoup

#爬取豆瓣網電影簡介,包括電影名,導演,評分以及介紹等

class dbtop():

def __init__(self):

self.usr_agent='mozilla/5.0 (windows; u; windows nt 6.1; en-us; rv:1.9.1.6) gecko/20091201 firefox/3.5.6'

self.headers=

self.pageindex=0

def gethtml(self,pageindex):##

##發現網頁的規律,填寫好url。

#開始寫的是url=''+str(pageindex)+'&filter=&type=%3ctype%20%27type%27%3e'

#後來發現去掉&filter=&type=%3ctype%20%27type%27%3e也可以

try:

url=''+str(pageindex)

request=urllib2.request(url,headers=self.headers)

page=urllib2.urlopen(request)

html=page.read()

return html

except urllib2.urlerror,e:

if hasattr(e,'reason'):

print u"連線失敗",e.reason

return none

def getitems(self):

#這是開始定義的方法l=[0,25,50,75,100,125,150,170,200,225],具體是忘了range的所有引數

l=range(0,226,25)

for pageindex in l:

html=self.gethtml(pageindex)

soup=beautifulsoup(html)

#分析源**,發現所需內容都在標籤中,但並不是一開始就在,需要進行索引取值

li_list=soup.find_all("li")

l=range(19,44)

f=open('doubantop250.txt','a+')

for i in l:

f.write(li_list[i].get_text("|",strip=true).encode('utf-8')+'\n')

f.close()

spider=dbtop()

spider.getitems()

小某說:

關於range()函式的用法:

range(初始值,結束值,間隔值)//range(start,stop,step)

1.初始值一般預設為0。range(5)=range(0,5)

2.結束值一般不包括本身。range(0,5)表示[0.1.2.3.4]

3.間隔值不設定時預設為1。range(0,5)=range(0,5,1),range(0,5,2)則表示隔兩個一取值,即[0,2,4]

python爬蟲 爬取豆瓣網電影資訊

豆瓣網 如下 import requests import urllib.request if name main 指定ajax get請求的url 通過抓包進行獲取 url 定製請求頭資訊,相關的頭資訊必須封裝在字典結構中 headers import requests import urllib...

python爬蟲爬取豆瓣電影資訊

我們準備使用python的requests和lxml庫,直接安裝完之後開始操作 目標爬取肖申克救贖資訊 傳送門 導入庫import requests from lxml import etree 給出鏈結 url 獲取網頁html前端 一行搞定,在requests中已經封裝好了 data reque...

控制流程,爬取豆瓣電影資訊

if 條件判斷 if 條件成立,執行 1,條件不成立,執行 2 1else 2age 19 if age 18 print 你已經成年了!雙分支結構 age 19 if age 18 print 成年 else print 未成年 如果 成績 90,列印 優秀 如果 成績 80 並且 成績 90,列...