53清 发表于 2021-8-24 21:17:31

python爬虫,翻页问题

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.122Safari / 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 09:21:48

https://www.shanghairanking.cn/_nuxt/static/1629372035/rankings/bcur/202111/payload.js
在这里面,从开发者工具里找这个文件,直接复制打开会乱码

53清 发表于 2021-8-25 17:46:58

南归 发表于 2021-8-25 09:21
https://www.shanghairanking.cn/_nuxt/static/1629372035/rankings/bcur/202111/payload.js
在这里面,从 ...

这样啊,谢谢了

白two 发表于 2021-8-25 22:46:24

其他的还不确定,首先请求方法就错了,这应该是 post 请求


翻页可能和这个请求里面的参数有关,但是具体是哪个参数我暂时也没搞明白
页: [1]
查看完整版本: python爬虫,翻页问题