久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

python - beautifulSoup4 .select(’.bnrName’) 取不到到 text 文字

瀏覽:107日期:2022-07-25 15:24:15

問題描述

背景: Python3 下使用 bs4 的 select 去獲取 ZOZO首頁上方的 coupon 信息中店鋪名字。 (國內ip貌似看不到優惠券信息,需要翻一下才能看到,最好是島國ip)

問題: 發現自己找不到他的店鋪名字在寫在什么地方,不知道怎么取,前端 js 不懂,請教諸位解答。謝謝。

自己的代碼如下:

import requests, bs4shopName = ’BEAUTY&YOUTH’url = ’http://zozo.jp/’def getZozoCoupon(): res = requests.get(url, headers={'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36'}) res.raise_for_status() soup = bs4.BeautifulSoup(res.text, ’html.parser’) elems = soup.select(’.bnrName’) return elems[0].text.strip()

如下截圖中是想要獲取的文字,python - beautifulSoup4 .select(’.bnrName’) 取不到到 text 文字

發現查看源碼中卻沒有文字。

<p class='couponInfo'> <p class='bnrName'>說好的文字呢。。。</p> <p class='bnrText'></p></p>

請教他的文字是在哪實現的啊,要怎么用bs4 select才出來,謝謝。

問題解答

回答1:

有可能用ajax從服務器獲取之后操作dom動態添加的吧,在瀏覽器里執行了js就文字也被添加進來。而你用爬蟲爬的時候沒有執行有關js所以也沒有添加文字。

要是真的這樣的話,你可以在瀏覽器的f12那里查看network,把獲取文字的那個http請求的url找出來,直接請求這個url獲取你需要的信息。

回答2:

我在瀏覽器中打開http://zozo.jp/查看源代碼并沒有找到你所要找的bnrNamepython - beautifulSoup4 .select(’.bnrName’) 取不到到 text 文字

回答3:

你在瀏覽器上右鍵“查看網頁源碼”看看能不能找得你那段文字,如果找不到,那網頁應該是用js或者ajax動態加載的,想要爬取這種動態頁面,兩種方法,要么是自己手動模擬請求,要么就用selenium去抓吧

回答4:

確實是js生成的,已經采用headless瀏覽器模擬抓取了,謝謝大家!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 保山市| 红原县| 富宁县| 鹰潭市| 永登县| 前郭尔| 景泰县| 唐山市| 定边县| 石狮市| 榆树市| 巍山| 永康市| 洛南县| 五寨县| 罗平县| 健康| 民县| 读书| 新巴尔虎左旗| 昌图县| 乐山市| 伊金霍洛旗| 新乡县| 玉门市| 中西区| 土默特左旗| 松溪县| 宁海县| 宜兴市| 霍林郭勒市| 平顶山市| 六安市| 武川县| 宁陕县| 衡阳县| 黄浦区| 都江堰市| 中山市| 四子王旗| 白河县|