爬蟲學習--豆瓣top250

最近在學習爬蟲技術,在網上找了一些資料,也找到了一些例子,但找到的例子是基於python2的所以就改成了python3的,而且加了一個將電影的評分也打印出來的語句,話不多說,上代碼:

#!/usr/bin/python
# -*- coding: utf-8 -*- #
import requests,sys,re
from bs4 import BeautifulSoup

#reload(sys)
#sys.setdefaultencoding('utf-8')
print('正在從豆瓣電影Top250抓取數據......')
pnames=[]
pscore=[]
for page in range(10):
    url='https://movie.douban.com/top250?start='+str((page-1)*25)
    print('---------------------------正在爬取第'+str(page+1)+'頁......--------------------------------')
    html=requests.get(url)
    html.raise_for_status()
    try:
        soup=BeautifulSoup(html.text,'html.parser')
        soup=str(soup) # 利用正則表達式需要將網頁文本轉換成字符串
        title=re.compile(r'<span class="title">(.*)</span>')
        sco00=re.compile(r'<span class="rating_num" property="v:average">(.*)</span>')
        names=re.findall(title,soup)
        score=re.findall(sco00,soup)
        for name in names:
            if name.find('/')==-1: # 剔除英文名(英文名特徵是含有'/')
                pnames.append(name)
        for core in score:
            pscore.append(core)
    except Exception as e:
        print(e)
print('爬取完畢!')

for i in range(len(pscore)):
    print(pnames[i] + '\t' + pscore[i])

輸出結果如圖:
輸出結果1
輸出結果2
輸出結果3
等等。。。。。

參考資料:
http://www.cnblogs.com/carpenterworm/p/6026274.html

發佈了55 篇原創文章 · 獲贊 62 · 訪問量 25萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章