欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Python爬蟲初接觸(六)

系統 1607 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條評論
主站蜘蛛池模板: 91在线 | porny | 欧美 | 九九香蕉视频 | 亚洲成人一区 | 福利视频二区 | 黄在线免费看 | 日韩精品一区二区三区 | 国产原创视频在线 | 天天干天天色 | 亚洲国产中文字幕 | 亚洲精品国产综合一线久久 | 久久久成人精品视频 | 国产欧美视频一区二区三区 | 欧美一级久久 | 日韩黄色大全 | 欧美午夜精品一区二区蜜桃 | 欧美日韩不卡合集视频 | 亚洲精品成人 | 草草免费观看视频在线 | 久久久久久网站 | 羞羞网页 | 欧美一区二区免费 | 久久草视频 | 四虎884aa永久播放地址http | 小明成人永久在线看 | 久久久久久国产精品久久 | 亚洲天堂中文网 | 成年做羞羞免费观看视频网站 | 成人在线免费看 | 国产成人www | 国产免费午夜 | 亚洲专区在线 | 天天摸天天操免费播放小视频 | 国产精品欧美日韩 | 魔法骑士在线观看免费完整版 | 亚洲高清视频在线 | 亚洲成人黄色 | 美女狠狠干 | 青青久久 | 日本黄a | 午夜黄网 | 久久天天 |