被网吃掉了?爬虫生存在这个网站下使用python
我正在制作网络爬虫来获取信息,但它显示了HTTP错误302,我无法修复它。 这张图片让你大致了解了这个网站的特殊布局,当你浏览它时,它会弹出一个窗口,告诉你这个网站正在加速,因为网上有这么多人,然后指引你到那个网站。因此,当我使用网络爬虫时,我得到的只是这个窗口上的信息,而不是这个网站上的任何信息。我认为这是一个很好的方式为网站管理员摆脱我们的网络爬虫。所以我想请你帮忙从这个网站上获取有用的信息 首先,我为我的网络爬虫使用了python的被网吃掉了?爬虫生存在这个网站下使用python,python,web-crawler,http-status-code-302,Python,Web Crawler,Http Status Code 302,我正在制作网络爬虫来获取信息,但它显示了HTTP错误302,我无法修复它。 这张图片让你大致了解了这个网站的特殊布局,当你浏览它时,它会弹出一个窗口,告诉你这个网站正在加速,因为网上有这么多人,然后指引你到那个网站。因此,当我使用网络爬虫时,我得到的只是这个窗口上的信息,而不是这个网站上的任何信息。我认为这是一个很好的方式为网站管理员摆脱我们的网络爬虫。所以我想请你帮忙从这个网站上获取有用的信息 首先,我为我的网络爬虫使用了python的请求,我只获得了该窗口的信息,结果如下所示: 然后我禁止网
请求
,我只获得了该窗口的信息,结果如下所示:
然后我禁止网站重定向,我得到HTTP错误303,显示:
这是我使用的最新代码:
python
这个问题的预期结果是从网站上获得有用的信息。我们可能需要处理弹出的窗口。看起来此网站对使用请求的爬虫有某种保护,当您发送get请求时,页面未完全加载 您可以尝试使用selenium模拟浏览器:
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('http://www.caam.org.cn/hyzc')
print(driver.page_source)
driver.close()
driver.page\u source
将包含页面源
您可以学习如何设置selenium webdriver。我添加了一些东西来延迟关闭我的web爬网,这很有效。因此,我想分享我的观点,以防您将来遇到类似问题: python
你能格式化你的代码吗?如果你在每行前面加4个空格,那将是一个好的开始。由于它是python,正确的缩进是至关重要的。谢谢你的建议,我在这里是新手,我正在学习如何格式化。我非常感谢你的回答。你的话并没有解决我的问题,我仍然得到了类似的结果,那只是提供了关于那个窗口的信息。但是你推荐的selenium确实帮了我很大的忙,我添加了一些东西来延迟关闭我的网络爬网,这很有效。因此,我想分享我的观点,以防您将来遇到类似问题:
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('http://www.caam.org.cn/hyzc')
print(driver.page_source)
driver.close()
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
options = Options()
driver = webdriver.Chrome(chrome_options=options)
driver.get('http://www.caam.org.cn')
body = driver.find_element_by_tag_name("body")
wait = WebDriverWait(driver, 5, poll_frequency=0.05)
wait.until(EC.staleness_of(body))
print(driver.page_source)
driver.close()