我试图对数据进行爬网,但是代码抛出了一个错误json.loads
。当我追溯到错误时,我意识到循环中的元素是None
,因此json.loads
无法运行
有什么解决办法吗
下面是我的代码:
import json
from selenium import webdriver
import pandas as pd
from bs4 import BeautifulSoup
from datetime import datetime
start_time = datetime.now()
data = []
op = webdriver.ChromeOptions()
op.add_argument('--ignore-certificate-errors')
op.add_argument('--incognito')
op.add_argument('--headless')
driver = webdriver.Chrome(executable_path='D:/Desktop/Query/chromedriver.exe',options=op)
driver.get('https://www.cdiscount.com/f-1175520-MIS2008813786478.html')
link = 'https://www.cdiscount.com/f-1175520-MIS2008813786478.html'
soup = BeautifulSoup(driver.page_source, 'html.parser')
b = soup.prettify()
product_title = soup.find('title').getText()
reviews = soup.find_all("script",type="application/ld+json")
for element in reviews :
json_string = element.getText()
json_dict = json.loads(json_string)
data.append(json_dict)
您可以通过访问元素的
contents
来尝试读取JSON关于{}的美丽组合{a1}:
这就是为什么在您的案例中
getText
返回一个空字符串,并且需要使用contents
相关问题 更多 >
编程相关推荐