json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)


上篇博客提到了爬取動態數據,但是在構造request_url時,其中的url我用的瀏覽器的網址,但是經過運行發現,有時可以運行成功,有時

request_url = "http://tool.manmanbuy.com/history.aspx?DA=1&action=gethistory&url={0}&bjid=&spbh=&cxid=&zkid=&w=951&token={1}".format(url, token)
data = requests.get(request_url)
history_price = json.loads(data.text)['datePrice']

Traceback (most recent call last):
File “D:/spider/product.py”, line 4, in
res = json.loads(file.text)
File “C:\Users\DELL\AppData\Local\Programs\Python\Python37-32\lib\json_init_.py”, line 348, in loads
return _default_decoder.decode(s)
File “C:\Users\DELL\AppData\Local\Programs\Python\Python37-32\lib\json\decoder.py”, line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File “C:\Users\DELL\AppData\Local\Programs\Python\Python37-32\lib\json\decoder.py”, line 355, in raw_decode
raise JSONDecodeError(“Expecting value”, s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

 

會在第三行代碼報錯,也就是json.loads()位置。

原因:

  request_url不正確,使用瀏覽器中的網址作為url是不太規范的,所以我們盡量找到request_url中url部分的生成機制,構造出正確的request_url吧!

我在網頁的源代碼中,找到了url的生成機制,以及在div中找到了生成的url。

 

 

這樣就能通過獲取這個位置的url來構造request_url啦!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM