我要抓取以下页面:
http://www.ferdinand-hodler.ch/werke.aspx?id=6006188
如果看不到页面内容,欢迎加入俱乐部。它将我重定向到主页,然后当我第一次单击主页上的书,然后单击“作品”(或德语的Werke)然后单击图片时,它终于允许我使用各个链接输入其他内容页面。
我试图设置标题,但它只是暂时起作用。 (现在,尽管我续订了,但是它不起作用。)
有解决方案吗?
到目前为止我的代码。
headers = {
"Cache-Control": "max-age=0",
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36",
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,/;q=0.8",
"Cookie": "ASP.NET_SessionId=ovakll55jo1wgo55mpizx2eg; sikart=de; _ga=GA1.2.868599919.1540663052; _gid=GA1.2.1406101683.1540663052"
}
s = requests.Session()
page = s.get("http://www.ferdinand-hodler.ch/werke.aspx?id=6006188"
,headers=headers)
file = page.content
print("Provenienz" not in str(file)) # I need this to be true.
答案 0 :(得分:1)
该网站似乎需要有效的cookie才能显示所需的页面。
您的链接第一次显示书籍列表,但是此后,单击它会显示所需的页面。
所以:
1)首次访问网站主页,记住返回的cookie
2)使用在第一阶段获得的Cookie发出第二个请求