请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

正在回答 回答被采纳积分+3

6回答

bobby 2020-02-22 12:38:20
headers = {
    "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
    "accept-encoding": "gzip, deflate, br",
    "accept-language": "zh-CN,zh;q=0.9",
    # "cache-control": "max-age=0",
    "cookie": "__jdu=167283369; shshshfpa=822cd294-4734-6cd8-3a38-cc3e5e79bb5d-1579170000; shshshfpb=vaVc5UwnNRfqq2KInW57h4g%3D%3D; areaId=27; ipLoc-djd=27-2376-50230-0; PCSYCityID=CN_610000_610100_610112; jwotest_product=99; user-key=812511eb-181a-4a3f-a7d6-e1d719bbebc0; cn=0; unpl=V2_ZzNtbUVWSh18DUUEK0pUUmIDRVxLVRYRfQlDViwZDAI0AUFYclRCFnQUR1dnGVoUZwAZWEBcQBNFCEdkeBBVAWMDE1VGZxpFK0oYEDpBA04%2bR0ICLFYTHHMME1N7S1hSMwYUCEsEERB8D0BcextfDWUAR15AZ3MWdThGVUsZWwNkChBfRV9zJXI4dmRyG14BYQciXHJWc1chVEVRfR5bDCoDFVtBXkEXcgB2VUsa; __jdv=76161171|haosou-pinzhuan|t_288551095_haosoupinzhuan|cpc|0a875d61c5fe47d8bc48679132932d23_0_6089842aab9f41f083d59043f1a6b3b4|1581914608013; __jda=76161171.167283369.1579169996.1581914608.1581921361.9; __jdc=76161171; shshshfp=0fce42257fbb1fd4052bc6162b385b17; __jdb=76161171.4.167283369|9.1581921361; shshshsID=10ddca68cb9bc4782ac0542dfdb5c423_4_1581921643473; JSESSIONID=90C2E7A4E4E00B933F39FD85E1040D60.s1",
    "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.106 Safari/537.36",
    "referer": "https://item.jd.com/100004404944.html",
    "sec-fetch-dest": "script",
    "sec-fetch-mode": "no-cors",
    "sec-fetch-site": "same-site",
}
# print(requests.get("https://p.3.cn/prices/mgets?type=1&pdtk=&pdpin=&pin=null&pdbp=0&skuIds=J_100008348542&source=item-pc").text)#打印数据
res = requests.get(
    "https://club.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98vv19085&productId=100004404944&score=0&sortType=5&page=0&pageSize=10&isShadowSku=0&fold=1",
    headers=headers)
print(res.text)

没问题啊 我本地刚运行过

0 回复 有任何疑惑可以回复我~
  • 提问者 慕盖茨6398518 #1
    没问题吗
    回复 有任何疑惑可以回复我~ 2020-02-22 12:40:59
  • 提问者 慕盖茨6398518 #2
    我运行的时候一会好  一会报错   那吃完饭  我在吃一下   谢谢老师
    回复 有任何疑惑可以回复我~ 2020-02-22 12:41:36
  • bobby 回复 提问者 慕盖茨6398518 #3
    我运行过好几次都是没问题的 你的refer中的id是和商品的id一致把,里面最重要的header就是refer其他的headers应该可以不需要
    回复 有任何疑惑可以回复我~ 2020-02-23 21:41:54
提问者 慕盖茨6398518 2020-02-20 18:24:02


https://img1.sycdn.imooc.com//szimg/5e4e5e3c08d29e1309920744.jpg
这是照片

0 回复 有任何疑惑可以回复我~
提问者 慕盖茨6398518 2020-02-20 18:22:37
import requests
from scrapy import Selector


headers = {
    "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
    "accept-encoding": "gzip, deflate, br",
    "accept-language": "zh-CN,zh;q=0.9",
    # "cache-control": "max-age=0",
    "cookie": "__jdu=167283369; shshshfpa=822cd294-4734-6cd8-3a38-cc3e5e79bb5d-1579170000; shshshfpb=vaVc5UwnNRfqq2KInW57h4g%3D%3D; areaId=27; ipLoc-djd=27-2376-50230-0; PCSYCityID=CN_610000_610100_610112; jwotest_product=99; user-key=812511eb-181a-4a3f-a7d6-e1d719bbebc0; cn=0; unpl=V2_ZzNtbUVWSh18DUUEK0pUUmIDRVxLVRYRfQlDViwZDAI0AUFYclRCFnQUR1dnGVoUZwAZWEBcQBNFCEdkeBBVAWMDE1VGZxpFK0oYEDpBA04%2bR0ICLFYTHHMME1N7S1hSMwYUCEsEERB8D0BcextfDWUAR15AZ3MWdThGVUsZWwNkChBfRV9zJXI4dmRyG14BYQciXHJWc1chVEVRfR5bDCoDFVtBXkEXcgB2VUsa; __jdv=76161171|haosou-pinzhuan|t_288551095_haosoupinzhuan|cpc|0a875d61c5fe47d8bc48679132932d23_0_6089842aab9f41f083d59043f1a6b3b4|1581914608013; __jda=76161171.167283369.1579169996.1581914608.1581921361.9; __jdc=76161171; shshshfp=0fce42257fbb1fd4052bc6162b385b17; __jdb=76161171.4.167283369|9.1581921361; shshshsID=10ddca68cb9bc4782ac0542dfdb5c423_4_1581921643473; JSESSIONID=90C2E7A4E4E00B933F39FD85E1040D60.s1",
    "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.106 Safari/537.36",
    "referer": "https://item.jd.com/100004404944.html",
    "sec-fetch-dest": "script",
    "sec-fetch-mode": "no-cors",
    "sec-fetch-site": "same-site",
}
# print(requests.get("https://p.3.cn/prices/mgets?type=1&pdtk=&pdpin=&pin=null&pdbp=0&skuIds=J_100008348542&source=item-pc").text)#打印数据
res = requests.get("https://club.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98vv19085&productId=100004404944&score=0&sortType=5&page=0&pageSize=10&isShadowSku=0&fold=1", headers=headers)
print(res.content.decode("gbk"))


0 回复 有任何疑惑可以回复我~
提问者 慕盖茨6398518 2020-02-17 15:49:46

老师我我加上头之后   打印出来的是这样子的
而且运行一两次就报编码错误
https://img1.sycdn.imooc.com//szimg/5e4a457308bde6db09920744.jpg

https://img1.sycdn.imooc.com//szimg/5e4a459808125ea909920744.jpg

0 回复 有任何疑惑可以回复我~
提问者 慕盖茨6398518 2020-02-17 12:32:26

是在URL上面加吗

0 回复 有任何疑惑可以回复我~
  • bobby #1
    不是加载url上面 是加载headers上 你可以百度一下 你也可以提前看看11-6小结就明白了
    回复 有任何疑惑可以回复我~ 2020-02-18 18:05:54
  • 提问者 慕盖茨6398518 回复 bobby #2
    我加了 之后就变成了上面那个  老师你看这是什么情况
    回复 有任何疑惑可以回复我~ 2020-02-18 18:33:59
  • 提问者 慕盖茨6398518 #3
    我把情况照下来了
    回复 有任何疑惑可以回复我~ 2020-02-18 18:34:44
bobby 2020-02-17 11:22:30

京东对这个做了反爬,你通过f12看看这个请求的headers有个refer参数 把这个加上就行了,这种情况我在这个课程后面也专门有章节讲解如何分析这类问题

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信