warfid 发表于 2021-7-3 18:58

python爬取网页获取不到数据

本帖最后由 warfid 于 2021-7-3 20:23 编辑

import requests
from lxml import etree

url = 'https://www.shadertoy.com/shadertoy'
data = {
    's': {"shaders": ["XsBXWt"]},
    'nt': '1',
    'nl': '1',
    'np': '1'
}
headers = {

    'Referer': 'https://www.shadertoy.com/view/XsBXWt',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36'

}
resp = requests.post(url, data=data, headers=headers)
print(resp.status_code)
print(resp.text)


爬https://www.shadertoy.com/view/XsBXWt的代码没有返回值,不知道是怎么反爬,求大腿赐教

kll545012 发表于 2021-7-3 19:38

你这URL里的class="newhref 是什么东西~~~还是你这是从哪复制的?

lihu5841314 发表于 2021-7-3 19:44

data='s=%7B%20%22shaders%22%20%3A%20%5B%22XsBXWt%22%5D%20%7D&nt=1&nl=1&np=1'data改成这个就好

santus36 发表于 2021-7-3 19:52

问题应该出在嵌套dict上,你可以百度一下怎么解决

warfid 发表于 2021-7-3 20:22

santus36 发表于 2021-7-3 19:52
问题应该出在嵌套dict上,你可以百度一下怎么解决

data = {
    's': '{ "shaders" : ["XsBXWt"] }',
    'nt': '1',
    'nl': '1',
    'np': '1'
}
谢谢少了引号
页: [1]
查看完整版本: python爬取网页获取不到数据