鱼C论坛

 找回密码
 立即注册
查看: 3468|回复: 8

[已解决]爬虫

[复制链接]
发表于 2023-1-17 11:06:34 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. import requests
  2. from lxml import html
  3. etree = html.etree

  4. url = 'http://fund.eastmoney.com/data/rankhandler.aspx'
  5. header = {
  6.     "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/5.36"

  7. }

  8. parms = {
  9.     "op": "ph",
  10.     "dt": "kf",
  11.     "ft": "zq",
  12.     "rs":"",
  13.     "gs": "0",
  14.     "sc": "1nzf",
  15.     "st": "desc",
  16.     "sd": "2022-01-17",
  17.     "ed": "2023-01-17",
  18.     "qdii": "041|",
  19.     "tabSubtype": "041,,,,,",
  20.     "pi": "1",
  21.     "pn": "50",
  22.     "dx": "1",
  23.     "v": "0.5745516544026257"

  24. }

  25. response = requests.get(url=url,headers=header,params=parms)

  26. page = response.text
  27. print(page)
复制代码


大佬们。为什么这个一爬取就显示var rankData ={ErrCode:-999,Data:"无访问权限"}

最佳答案
2023-1-17 11:34:41
  1. import requests
  2. from lxml import html
  3. etree = html.etree

  4. url = 'http://fund.eastmoney.com/data/rankhandler.aspx'
  5. header = {
  6.     "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/5.36",
  7.     'Referer':'http://fund.eastmoney.com/data/fundranking.html'         # 加上这个,说明你是从哪个链接发起请求的,有一些url只允许从特定的链接发起请求

  8. }

  9. parms = {
  10.     "op": "ph",
  11.     "dt": "kf",
  12.     "ft": "zq",
  13.     "rs":"",
  14.     "gs": "0",
  15.     "sc": "1nzf",
  16.     "st": "desc",
  17.     "sd": "2022-01-17",
  18.     "ed": "2023-01-17",
  19.     "qdii": "041|",
  20.     "tabSubtype": "041,,,,,",
  21.     "pi": "1",
  22.     "pn": "50",
  23.     "dx": "1",
  24.     "v": "0.5745516544026257"

  25. }

  26. response = requests.get(url=url,headers=header,params=parms)

  27. page = response.text
  28. print(page)
复制代码
2V{ZBJ8L{19Q3C%JOOVETXB.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-1-17 11:14:09 | 显示全部楼层
本帖最后由 tommyyu 于 2023-1-17 11:17 编辑

这个的页面是不是就只有“var rankData ={ErrCode:-999,Data:"无访问权限"}”,为啥我点开看也是这样
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-1-17 11:14:59 | 显示全部楼层
你这个链接不是还带了别的参数吗?在请求的时候 url 带上完整的参数,直接在那里右键复制url

110617ar94744l9e2k4ag5.png.thumb.jpg
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-1-17 11:17:35 | 显示全部楼层
isdkz 发表于 2023-1-17 11:14
你这个链接不是还带了别的参数吗?在请求的时候 url 带上完整的参数,直接在那里右键复制url

参数都带了,还是显示var rankData ={ErrCode:-999,Data:"无访问权限"}
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-1-17 11:17:52 | 显示全部楼层
tommyyu 发表于 2023-1-17 11:14
这个的页面是不是就只有“var rankData ={ErrCode:-999,Data:"无访问权限"}”,为啥我访问也是这样{:10_282 ...

我也不知道
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-1-17 11:21:51 | 显示全部楼层
哈岁NB 发表于 2023-1-17 11:17
参数都带了,还是显示var rankData ={ErrCode:-999,Data:"无访问权限"}

你这个请求是打开哪个链接出来的,我帮你调试看看
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-1-17 11:33:17 | 显示全部楼层
加上 Referer,这个字段是说明你是从哪个链接发起请求的,这是一种防盗链的手段,只允许你从特定的链接发起请求
  1. import requests
  2. from lxml import html
  3. etree = html.etree

  4. url = 'http://fund.eastmoney.com/data/rankhandler.aspx'
  5. header = {
  6.     "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/5.36",
  7.      'Referer':'http://fund.eastmoney.com/data/fundranking.html'              # 加上这个

  8. }

  9. parms = {
  10.     "op": "ph",
  11.     "dt": "kf",
  12.     "ft": "zq",
  13.     "rs":"",
  14.     "gs": "0",
  15.     "sc": "1nzf",
  16.     "st": "desc",
  17.     "sd": "2022-01-17",
  18.     "ed": "2023-01-17",
  19.     "qdii": "041|",
  20.     "tabSubtype": "041,,,,,",
  21.     "pi": "1",
  22.     "pn": "50",
  23.     "dx": "1",
  24.     "v": "0.5745516544026257"

  25. }

  26. response = requests.get(url=url,headers=header,params=parms)

  27. page = response.text
  28. print(page)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-1-17 11:34:41 | 显示全部楼层    本楼为最佳答案   
  1. import requests
  2. from lxml import html
  3. etree = html.etree

  4. url = 'http://fund.eastmoney.com/data/rankhandler.aspx'
  5. header = {
  6.     "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/5.36",
  7.     'Referer':'http://fund.eastmoney.com/data/fundranking.html'         # 加上这个,说明你是从哪个链接发起请求的,有一些url只允许从特定的链接发起请求

  8. }

  9. parms = {
  10.     "op": "ph",
  11.     "dt": "kf",
  12.     "ft": "zq",
  13.     "rs":"",
  14.     "gs": "0",
  15.     "sc": "1nzf",
  16.     "st": "desc",
  17.     "sd": "2022-01-17",
  18.     "ed": "2023-01-17",
  19.     "qdii": "041|",
  20.     "tabSubtype": "041,,,,,",
  21.     "pi": "1",
  22.     "pn": "50",
  23.     "dx": "1",
  24.     "v": "0.5745516544026257"

  25. }

  26. response = requests.get(url=url,headers=header,params=parms)

  27. page = response.text
  28. print(page)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-1-17 11:40:29 | 显示全部楼层

好的好的,成功了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-25 04:57

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表