鱼C论坛

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

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

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

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

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

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

# csv.DictWriter.writeheader()
url = 'https://www.shanghairanking.cn/rankings/bcur/202111'
headers = {
    "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"
}  # UA伪装
response = requests.get(url=url, headers=headers)
response.encoding='‘utf-8’'
selecetor = parsel.Selector(response.text)
lis = list(selecetor.css('.rk-table tbody tr'))
for li in lis:
    Rank = li.css('td:nth-child(1) > div ::text').get().strip()
    Name = li.css('.name-cn::text').get()
    English_Name = li.css('.name-en::text').get()
    Tag = li.css('td.align-left > div > div.univname > p::text').get()
    Province = li.css('td:nth-child(3)::text').get().strip()
    Type = li.css('td:nth-child(3)::text').get().strip()
    total_score = li.css('td:nth-child(4)::text').get().strip()
    school_level = li.css('td:nth-child(5)::text').get().strip()
    href =r'https://www.shanghairanking.cn'+ li.css('.link-container a::attr(href)').get()
    dic = {'排名': Rank,'名称':Name,'英文名':English_Name,
    '标签':Tag,
    '省份':Province,
    '类型':Type,
    '总分':total_score,
    '学校水平':school_level,
    '网址说明':href
    }
    csv_writer.writerow(dic)#写入文件中
    print(dic)


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

翻页可能和这个请求里面的参数有关,但是具体是哪个参数我暂时也没搞明白
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-8-25 09:21:48 | 显示全部楼层
https://www.shanghairanking.cn/_nuxt/static/1629372035/rankings/bcur/202111/payload.js
在这里面,从开发者工具里找这个文件,直接复制打开会乱码
想知道小甲鱼最近在做啥?请访问 -> 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
在这里面,从 ...

这样啊,谢谢了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

翻页可能和这个请求里面的参数有关,但是具体是哪个参数我暂时也没搞明白
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-13 13:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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