爬蟲學習筆記

本篇筆記主要記錄學習嗶站up主:IT私塾的課程《Python爬蟲基礎5天速成(2021全新合集)Python入門+數(shù)據(jù)可視化》所做的筆記。
課程主要任務:爬取豆瓣電影top250電影的基本信息,包括電影的名稱、豆瓣評分、電影概況、電影鏈接等。

#加載所需要的包
from bs4 import BeautifulSoup
import re,sys,xlwt,urllib,sqlite3
import urllib.request
##如果運行的過程報ssl的錯誤,可以加入以下兩行代碼
import ssl
ssl._create_default_https_context = ssl._create_unverified_context

1. 觀察網(wǎng)址特點
豆瓣電影的網(wǎng)頁url:https://movie.douban.com/top250,每頁25步電影,一共10頁展示完top250電影

豆瓣電影top250截圖

2. 確定url地址,偽裝自己不被阻攔,定義讀取url的函數(shù)
首先使用chrome瀏覽器開發(fā)者模式,找到自己電腦的'User-Agent'(要爬取哪個網(wǎng)址,就打開哪個網(wǎng)址找到自己的User-Agent)

def main():
    base='https://movie.douban.com/top250?start='
    askURL(base)
#得到一個網(wǎng)頁的具體信息,即:把網(wǎng)頁儲存為變量
def askURL(url):
    head={'User-Agent':' Mozilla/5.0 (Macintosh; Intel Mac OS X 11_1_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36'}
    request=urllib.request.Request(url,headers=head)
    html=""
    reponse=urllib.request.urlopen(request)
    html=reponse.read().decode('utf-8')
    return html
main()

3. 逐一解析網(wǎng)頁
2中定義了解析一個網(wǎng)頁的函數(shù),由于top25是是由10個網(wǎng)頁組成,所以我們要寫一個循環(huán),逐個解析每個網(wǎng)頁

def getdata(baseurl):
    datalist=[]
    for i in range(0,10):#生成每頁網(wǎng)址的url
        url=baseurl+str(i*25)
        html=askURL(url)#調(diào)用askURL,抓取每個網(wǎng)頁的信息
        #解析網(wǎng)頁
        bs=BeautifulSoup(html,'html.parser')#調(diào)用函數(shù),將網(wǎng)頁解析為樹狀結。
        print(bs)#圖1是打印后的結果
圖1

筆記會持續(xù)更新

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容