scrapy爬取某网站,模拟登陆过程中遇到的那些坑

在使用Scrapy爬取一个需要登录的网站时,遭遇动态验证码和重定向问题。通过分析请求,提取动态参数,编写模拟登录代码,但初次尝试因未正确处理cookie导致失败。关闭重定向选项REDIRECT_ENABLED=False后,遇到302错误,通过设置HTTPERROR_ALLOWED_CODES解决了问题。学习过程强调理解技术原理和耐心分析的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近接触scrapy,爬取了几个网站,用着还挺顺手的.
前几天,一个做业务的同事让我帮他爬取一个网站上的用户信息,我就满口承诺下来了.毕竟,通过前几次的爬取,已经自信心爆棚了(从此入坑).

    拿到一个网站之后就是先分析网站,分析之后发现需要的数据要登陆才能看到.这个可难不倒我,不就是模拟登陆吗,小菜一碟.
    用chrome分析一下,看到有用户名,密码,还有其他两个校验值.另外还有一个重定向的callback值.如下:
<input type="hidden" name="callback" id="callback" value="此处是重定向的链接">

接下来就登陆,观察post请求的情况.因为有上面的那行代码,所以跳转太快,没看到post请求情况,删掉上面那行代码,然后请求,这次看到了表单发送信息.

接下来就是写代码,模拟登陆.很快就写好代码了,然后开始测试.(还记的上面说过的哪两个校验值吗? 这两个值都是动态的,可以用正则从登陆页面提取到).

部分代码如下:


                
### 回答1: Scrapy是一个Python框架,用于基于异步的网络爬虫。它可以使用户更轻松地从互联网上爬取有关特定主题的信息。例如,你可以使用Scrapy爬取网站的趋势、新闻、保健、交通等方面的信息。 为了爬取这个网站上的景区评论,需要使用Scrapy的基本结构。首先,需要定义一个名为Spider的类。这个类包含要抓取的页面的URL,以及URL中找到的每个评论的有关信息。 接下来,需要定义一个名为Item的类。这个类包含评论的信息,如评论文本、时间和评分等。Scrapy使用这个类来生成XML和JSON等格式的输出。 Scrapy还将数据存储在名为Items的容器中。在Spider类中,Scrapy使用容器来提取评论,将每个评论的有关信息存储到Item实例中。 一旦你已经设置了Spider和Item类,在Scrapy中运行爬虫时,Scrapy将使用这两个类来抓取、解析和存储景区评论网站中的信息。 ### 回答2: Scrapy是一个功能强大的Python网络爬虫框架,它可以让用户针对各种网站的数据进行自动抓取和处理。对于爬取景区景点评论信息而言,Scrapy是一个致力于网页数据挖掘的有力工具。 对于一个Scrapy爬虫,基本上都需要完成以下步骤: 1. 定义爬虫种子。即确定要爬取网站、需要抓取的数据,以及触发爬虫的条件等。 2. 编写网络爬虫。可以根据网站的结构和数据流动情况编写我们需要的数据爬取代码,包括用户评论、评论评分等信息的抓取。 3. 存储数据。将爬取到的数据进行处理,并存储到本地文件或数据库中,以便后续进一步分析。 Scrapy特别适用于大规模的数据爬取和处理,效率高,且可以处理多个线程。因此,如果要爬取某个大型景区的评论数据,相信Scrapy一定能够胜任这项任务。通过获取这些评论数据,我们可以对景区的服务质量进行评估和改善,也可以为其他游客提供更加详细和真实的景区评价。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值