亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Python爬蟲初接觸(六)

系統 1750 0

這篇博客做一個爬蟲的實例

今天剛看到一個新聞,在7月26日上映的《哪吒之魔童降世》,密鑰第二次延期至10月26日。
截止至9月17日,《哪吒之魔童降世》票房已超49億票房,在豆瓣上對該電影的評價有好有壞。說實話,博主看了這個電影真的覺得蠻不錯的,因此把短評中的差評爬取下來,看下差評包括哪些方面。

目錄

      • 一、BeautifulSoup
      • 二、xpath
      • 三、正則表達式

一、BeautifulSoup

首先需要了解下差評文字內容在哪些標簽下:

進入豆瓣該電影短評界面,檢查元素:
Python爬蟲初接觸(六)_第1張圖片
Python爬蟲初接觸(六)_第2張圖片
可以看出,每一條評論都在一個

標簽下,具體的文字內容,在
標簽下

標簽下 標簽里。

于是就有了爬取的思路:

  1. 找到所有的 class=short 的span標簽
  2. 爬取文字內容
  3. 翻頁
    Python爬蟲初接觸(六)_第3張圖片

(一)導入需要用到的模塊與包

              
                import requests
from bs4 import BeautifulSoup
import time

              
            

(二)獲取差評內容
先爬取一頁看下效果

              
                base_url = 'https://movie.douban.com/subject/26794435/comments?start=0&limit=20&sort=new_score&status=P&percent_type=l'

def get_one_pageComments(html):
    soup = BeautifulSoup(html.content, 'lxml')
    # 可以在這里print下html.content看是否需要添加ua或者cookie爬取
    commentsList = soup.find_all('span',class_='short')
    pageComments = ""
    for commentTag in commentsList:
            pageComments += commentTag.text
    print(pageComments)


html = requests.get(url)


get_one_pageComments(html)

              
            

Python爬蟲初接觸(六)_第4張圖片
與原網頁對比下:
Python爬蟲初接觸(六)_第5張圖片
說明成功爬取到了差評內容

(三)翻頁
接下來進行翻頁處理,先對比下前三頁的url:
在這里插入圖片描述
發現每翻一頁 start 的值就加20。翻頁功能就可以實現了

              
                base_url = 'https://movie.douban.com/subject/26794435/comments?start={}&limit=20&sort=new_score&status=P&percent_type=l'
for x in range(0, 81, 20):
    url = base_url.format(x)
    print(url)

              
            

Python爬蟲初接觸(六)_第6張圖片

綜合以上所述,整個流程的代碼實現就完成了:

              
                base_url = 'https://movie.douban.com/subject/26794435/comments?start={}&limit=20&sort=new_score&status=P&percent_type=l'

def get_one_pageComments(html):
    soup = BeautifulSoup(html.content, 'lxml')
    commentsList = soup.find_all('span',class_='short')
    pageComments = ""
    for commentTag in commentsList:
            pageComments += commentTag.text
    print(pageComments)

for x in range(0,81, 20):
# 爬取前4頁
    url = base_url.format(x)
    html = requests.get(url)
    get_one_pageComments(html)
    time.sleep(1)

              
            

time.sleep 是避免被識別出在爬取的一個措施。

Python爬蟲初接觸(六)_第7張圖片
這樣,就完成了對該電影差評的爬取。

二、xpath

其實絕大部分都是一樣的,不同之處在于如何定位到差評文本內容。
Python爬蟲初接觸(六)_第8張圖片

由于每條差評都在一個

中,而所有的
都在

因此,首先要定位到
,其次定位
,然后定位

,接著定位 ,最后定位 text()

思路清晰了,接下來就是代碼的實現了:

                
                  import requests
from lxml import etree

def get_text(url):
    resp = requests.get(url).content.decode('utf-8')
    html = etree.HTML(resp)
    divs = html.xpath('//div[@class="mod-bd"]/div')
    # print(divs)
    for div in divs:
        pl = div.xpath('//div[@class="comment"]/p/span/text()')
        print(pl)

base_url = 'https://movie.douban.com/subject/26794435/comments?start={}&limit=20&sort=new_score&status=P&percent_type=l'
for x in range(0, 81, 20):
    url = base_url.format(x)
    get_text(url)

                
              

爬取后的結果:
Python爬蟲初接觸(六)_第9張圖片

三、正則表達式

用正則表達式去匹配一定要記住下面三個非常非常常用且作用十分的匹配式:

  1. .+? 代表所有字符
  2. re.VERBOSE 代表正則表達式的注釋
  3. re.DOTALL 代表.可以匹配所有字符,包括換行符

Python爬蟲初接觸(六)_第10張圖片
我們要爬取所有的差評內容,即要找到所有的


然后去定位

Python爬蟲初接觸(六)_第11張圖片

雖然分別用BeautifulSoup、Xpath、正則表達式基本實現了對差評內容的爬取,但是不足之處在于沒有對爬取到的str進行保存,是因為博主在保存時總是報錯。。還沒有找到合適的解決辦法,后續會進行完善。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 久久综合一本 | 久久综合玖玖爱中文字幕 | 一区二区三区四区 | 久久99视频 | 国产区91 | 亚洲wuma| 久久黄色网址 | 日本一级毛片在线观看 | 香蕉亚洲精品一区二区 | 日本一级特黄毛片免费视频 | 99久久精品免费看国产一区二区 | 欧美二区三区 | 青青青青在线成人视99 | a免费毛片在线播放 | 青青青青啪视频在线观看 | 在线视频这里只有精品 | 欧美毛片网站 | 亚洲a网 | 国产91精品久久久久久 | 性做久久久久久坡多野结衣 | 97影院理伦片 | 日日摸狠狠的摸夜夜摸 | 99精品免费久久久久久久久日本 | 久久99精品一久久久久久 | 欧美 激情 在线 | 在线观看中文字幕亚洲 | 被黑人做的白浆直流在线播放 | 国产18到20岁美女毛片 | 亚洲精品成人一区二区 | 奇米影音| 91香蕉国产亚洲一区二区三区 | 久国产视频 | 午夜免费播放观看在线视频 | 亚洲精品国产福利在线观看 | 日韩一区二区三区中文字幕 | 日本精品在线观看 | 一级国产视频 | 色综合久久精品中文字幕 | 欧美高清免费精品国产自 | 欧美高清免费精品国产自 | 亚洲黄色网址大全 |