使用Python MechanicalSoup

时间:2018-01-08 18:15:12

标签: python web-scraping mechanize mechanicalsoup

我想在登录页面后面搜索一些信息,但我得到了503

当我尝试使用mechanicalsoup登录时会发生这种情况(与robobrowser相同):

>>> import mechanicalsoup
>>> browser = mechanicalsoup.StatefulBrowser(user_agent='Mozilla/5.0')
>>> page = browser.get('https://X.com')
>>> page.status_code
200
>>> page = browser.get('https://X.com/wp-login.php')
>>> page.status_code
503

我尝试过几个不同的user_agents,我该如何解决这个问题?移动饼干?

2 个答案:

答案 0 :(得分:4)

好的,我设法使用https://github.com/Anorov/cloudflare-scrape

执行此操作
linkpassword://

答案 1 :(得分:1)

受CloudFlare保护,它拒绝向该网址发送纯GET请求。您需要一个非无头浏览器才能访问该页面,否则它将拒绝它。使用提供GUI的Selenium等库,您应该没问题。

from selenium import webdriver
browser = webdriver.Firefox() # or whichever browser you prefer
browser.get('https://hacked.com/wp-login.php')

请注意,无法使用Selenium获取状态代码。但是,您有更多方法与页面进行交互,并确认您已到达该页面。