鱼C论坛

 找回密码
 立即注册
查看: 1855|回复: 3

[已解决]python爬虫,翻页问题

[复制链接]
发表于 2021-8-24 21:17:31 | 显示全部楼层 |阅读模式

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

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

x
  1. import requests
  2. import parsel
  3. import re
  4. import csv
  5. f = open('zgdx','a',encoding='utf-8',newline='')
  6. csv_writer = csv.DictWriter(f,fieldnames=['排名', '名称', '英文名', '标签', '省份', '类型', '总分', '学校水平', '网址说明'])
  7. csv_writer.writeheader()

  8. # csv.DictWriter.writeheader()
  9. url = 'https://www.shanghairanking.cn/rankings/bcur/202111'
  10. headers = {
  11.     "User-Agent": "Mozilla / 5.0(Windows NT 10.0; Win64; x64) AppleWebKit / 537.36(KHTML, like Gecko) Chrome / 80.0.3987.122  Safari / 537.40"
  12. }  # UA伪装
  13. response = requests.get(url=url, headers=headers)
  14. response.encoding='‘utf-8’'
  15. selecetor = parsel.Selector(response.text)
  16. lis = list(selecetor.css('.rk-table tbody tr'))
  17. for li in lis:
  18.     Rank = li.css('td:nth-child(1) > div ::text').get().strip()
  19.     Name = li.css('.name-cn::text').get()
  20.     English_Name = li.css('.name-en::text').get()
  21.     Tag = li.css('td.align-left > div > div.univname > p::text').get()
  22.     Province = li.css('td:nth-child(3)::text').get().strip()
  23.     Type = li.css('td:nth-child(3)::text').get().strip()
  24.     total_score = li.css('td:nth-child(4)::text').get().strip()
  25.     school_level = li.css('td:nth-child(5)::text').get().strip()
  26.     href =r'https://www.shanghairanking.cn'+ li.css('.link-container a::attr(href)').get()
  27.     dic = {'排名': Rank,'名称':Name,'英文名':English_Name,
  28.     '标签':Tag,
  29.     '省份':Province,
  30.     '类型':Type,
  31.     '总分':total_score,
  32.     '学校水平':school_level,
  33.     '网址说明':href
  34.     }
  35.     csv_writer.writerow(dic)#写入文件中
  36.     print(dic)
复制代码



爬取中国大学排名相关信息,网站是https://www.shanghairanking.cn/rankings/bcur/202111
不知道如何实现翻页,网址不会随页数发生改变,然后点击翻页的按钮之后也没有捕获到AJAX,能想到的办法只有使用selenium模拟浏览器,不知道有没有其它方法
最佳答案
2021-8-25 22:46:24
其他的还不确定,首先请求方法就错了,这应该是 post 请求
微信图片_20210825224426.png

翻页可能和这个请求里面的参数有关,但是具体是哪个参数我暂时也没搞明白
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-8-25 09:21:48 | 显示全部楼层
https://www.shanghairanking.cn/_nuxt/static/1629372035/rankings/bcur/202111/payload.js
在这里面,从开发者工具里找这个文件,直接复制打开会乱码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-8-25 17:46:58 | 显示全部楼层
南归 发表于 2021-8-25 09:21
https://www.shanghairanking.cn/_nuxt/static/1629372035/rankings/bcur/202111/payload.js
在这里面,从 ...

这样啊,谢谢了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-8-25 22:46:24 | 显示全部楼层    本楼为最佳答案   
其他的还不确定,首先请求方法就错了,这应该是 post 请求
微信图片_20210825224426.png

翻页可能和这个请求里面的参数有关,但是具体是哪个参数我暂时也没搞明白
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-19 16:04

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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