Python web抓取:503响应特定站点(为什么?)

2024-10-05 10:05:42 发布

您现在位置:Python中文网/ 问答频道 /正文

尝试学习python和web抓取一些web站点。看看我能学到什么。我注意到Amazon.com会给我一个Response 503,除非我在SESSION.get()中使用header属性。在

但这对readcomiconline.to不起作用,不管我做什么,我都会得到一个Response 503。假设这与JavaScript预加载程序有关。在

有什么办法吗?在

import requests 
urlAmazon = 'http://amazon.com'
urlComics = 'http://readcomiconline.to'
headerAgent = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36'}
client = requests.session()

resultOne = client.get(urlAmazon)
print(resultOne) #<Response [503]>
resultOne = client.get(urlAmazon, headers=headerAgent)
print(resultOne) #<Response [200]>

resultTwo = client.get(urlComics)
print(resultTwo) #<Response [503]>
resultTwo = client.get(urlComics, headers=headerAgent)
print(resultTwo) #<Response [503]>

尝试使用Selenium,但仍然得到503错误。有没有办法绕过javascript做一个合适的网页抓取?在

^{pr2}$

Tags: tocomclientwebgetresponserequestsreadcomiconline
1条回答
网友
1楼 · 发布于 2024-10-05 10:05:42

selenium最棒的地方是它可以使用execute_script('script')模拟脚本执行的操作。对于内容由JS呈现的站点,最好的方法是了解JS如何呈现内容。跟踪XHR并检查响应以查看它是否返回所需的内容。在

相关问题 更多 >

    热门问题