【发布时间】:2019-06-01 14:43:37
【问题描述】:
我正在尝试抓取主题标签中的帖子数量,它与以下代码完美搭配:
from selenium import webdriver
import bs4 as bs
import pandas as pd
import datetime
driver = webdriver.Chrome()
driver.get('https://www.instagram.com/explore/tags/hkig')
source = driver.execute_script("return document.body.innerHTML")
soup = bs.BeautifulSoup(source,'lxml')
post = soup.find('span', class_='g47SY ').text
print(post)
但是,如果我将标签更改为非英文字符,它会崩溃,是什么原因以及如何解决?
以下脚本会报错:
from selenium import webdriver
import bs4 as bs
import pandas as pd
import datetime
driver = webdriver.Chrome()
driver.get('https://www.instagram.com/explore/tags/モデル')
source = driver.execute_script("return document.body.innerHTML")
soup = bs.BeautifulSoup(source,'lxml')
post = soup.find('span', class_='g47SY ').text
print(post)
已编辑:
我得到的错误如下: Traceback(最近一次调用最后一次):
文件“C:/Users/user/Desktop/temp.py”,第 12 行,在 post = soup.find('span', class_='g47SY ').text AttributeError: 'NoneType' 对象没有属性 'text'
beautifulsoup 似乎在'span', class_='g47SY ' 中找不到任何东西,所以它给出了这样的错误,所以回到我的问题,为什么它找不到它?我检查了帖子元素的数量,表明它仍然是<span class="g47SY ">6,262,389</span>,可能是关于 utf-8 ascii 编码问题?
【问题讨论】:
-
能否将您收到的错误信息告诉我们
-
属性错误,因为我相信汤根本找不到任何元素.. :-(
标签: python selenium web-scraping beautifulsoup