我正在尝试创建一个爬虫程序,它首先登录到网站,然后继续爬虫到其他页面
该网站是https://login.globo.com/login/6668?url=https://valor.globo.com/
在做了一点修改之后,我想到了这个(我已经导入了库和其他东西):
class CrawlSite(scrapy.Spider):
name = 'WebCrawl'
start_urls = ('https://login.globo.com/login/6668?url=https://valor.globo.com/')
def login_valor(self, response):
return FormRequest.from_response(response,
formdata={
'password': 'password.',
'login': 'username'},
callback=self.scrape_links)
def scrape_links(self):
urls = ['https://valor.globo.com/impresso/20200501/']
for url in urls:
yield scrapy.Request(url, callback= self.parse_normal)
阅读之后,我明白我应该尝试找到身份验证方法,但我没有运气
其余的工作正常(删除网页链接)
谢谢
FormRequest.from_响应在这种情况下不起作用,因为Scrapy没有可见的表单(它是动态加载的)。要么用类似Splash的东西呈现页面,要么自己创建post请求。您可以通过在Chrome中打开开发者工具,并在手动登录时检查“网络”选项卡来了解其工作原理。 基于此,我认为下面的代码应该可以工作(我不能真正测试,因为我没有网站的登录名):
相关问题 更多 >
编程相关推荐