Chrome浏览器不显示京东商品价格解决方法

最近逛京东发现商品不显示价格

 

于是F12看了一下console的情况,发现有个callback失败了

重新访问这个地址后发现加载速度非常慢,内容便是生成价格的json

 

加载了足足9秒,但是ping的时候发现延迟也不是很高

于是猜想可能是由于价格的json域名请求时间过长导致未能成功执行回调函数。

一开始觉得京东应该存在CDN,所以去http://ping.chinaz.com查看了一下该域名的CDN情况

总共有5个 36.110.181.183  120.52.148.153  111.206.227.153  111.13.28.153  202.77.129.230

然后逐一在hosts里面尝试修改c0.3.cn的解析ip

最终发现111.13.28.153我的访问速度最快

修改ip后重新访问之前的接口发现时间又来到了毫秒级。

重新访问原先的商品页面,价格秒显示。

总结一下解决方法

修改C:\Windows\System32\drivers\etc\hosts文件

在hosts文件最后一行加入*ip* c0.3.cn

注意:请将*ip* 替换为任一ip,如111.13.28.153 c0.3.cn

ip为前文中的任意1个ip,替换好后保存再访问,哪个ip价格显示正常并且速度最快就选择哪一个。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
首先,你需要安装selenium和chromedriver。chromedriver是Chrome浏览器的驱动程序,它可以让你通过代码控制Chrome浏览器。 在安装完selenium和chromedriver之后,你可以按照以下步骤使用selenium模拟浏览器访问京东并爬取商品: 1. 导入必要的库 ```python from selenium import webdriver import time ``` 2. 打开Chrome浏览器,并访问京东网站 ```python browser = webdriver.Chrome() browser.get('https://www.jd.com/') ``` 3. 在搜索框中输入要搜索的商品,并点击搜索按钮 ```python search_box = browser.find_element_by_xpath('//*[@id="key"]') search_box.send_keys('商品名称') search_button = browser.find_element_by_xpath('//*[@id="search"]/div/div[2]/button') search_button.click() ``` 4. 等待页面加载完成,并滚动到页面底部,使所有商品都加载出来 ```python time.sleep(5) # 等待5秒钟,让页面加载完成 browser.execute_script('window.scrollTo(0, document.body.scrollHeight)') # 滚动到页面底部,使所有商品都加载出来 ``` 5. 爬取商品信息 ```python goods = browser.find_elements_by_class_name('gl-item') # 获取商品列表 for good in goods: title = good.find_element_by_xpath('.//div[@class="p-name"]/a/em') # 获取商品标题 price = good.find_element_by_xpath('.//div[@class="p-price"]/strong/i') # 获取商品价格 print(title.text, price.text) ``` 6. 关闭浏览器 ```python browser.quit() ``` 完整代码如下: ```python from selenium import webdriver import time browser = webdriver.Chrome() browser.get('https://www.jd.com/') search_box = browser.find_element_by_xpath('//*[@id="key"]') search_box.send_keys('商品名称') search_button = browser.find_element_by_xpath('//*[@id="search"]/div/div[2]/button') search_button.click() time.sleep(5) browser.execute_script('window.scrollTo(0, document.body.scrollHeight)') goods = browser.find_elements_by_class_name('gl-item') for good in goods: title = good.find_element_by_xpath('.//div[@class="p-name"]/a/em') price = good.find_element_by_xpath('.//div[@class="p-price"]/strong/i') print(title.text, price.text) browser.quit() ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值