如何填写html表单并从网站上刮取?

2024-09-30 07:21:49 发布

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

我正在做一个学校项目,我想建立一个Andriod应用程序,但在此之前,我想从220.225.101.27/MPLogin/eSewa/VehicleSearch.aspx中收集一些数据,并保存在我的数据库中。当你进入这个网站,你将必须填写车辆登记号码,然后它将显示有关车辆的所有细节。我不需要完整的细节,但我只需要车主的名字。我想得到所有的车辆登记号码组合的细节。

我在网上搜索了一下找到了一些python库。

  1. 美群
  2. 破烂的
  3. 机械化

我对Python还不熟悉。如果我混淆了一些术语,请忽略不计。我只想知道:

  1. 我应该用哪本书?哪个最好?
  2. 填写html表单,然后通过python获取详细信息,我应该知道些什么?
  3. 要成功地完成这些工作,我首先应该知道什么?
  4. 我需要使用哪些python模块?
  5. 如何将此数据保存在数据库或某种Excel文件中?
  6. 网站在.net中,会引起任何问题吗?

我已经阅读了Beautifulsoup的文档,通过使用它,我成功地打印了googlenews的标题文本。但这是最基本的。填写html表单然后获取详细信息是很困难的。

我知道这是一个很长的问题,但我想自己学习这些东西。如果有人能一步一步地指导我,那就太好了。


Tags: 数据项目数据库应用程序表单网站html详细信息
2条回答

既然你没有提供任何代码,你基本上是在征求意见,我就给你我的见解。

你提到的所有事实都指向scrapy。这是一个非常强大的网页抓取工具。

基本上,您应该执行以下步骤来实现您的任务:

说到具体解析这个网站,它有一个基本的html表单,可以由scrapy的FormRequestFormRequest.from_response以编程方式提交。然后,您可以使用管道将废弃的数据存储在数据库或csv中,或其他任何东西中。

回来问你是否有任何具体的(适合问答的)问题。

希望这能帮助你开始。

这取决于你的具体要求。如果您不需要表单页面中的任何数据,只需跳过此阶段并直接发布您的请求。如果您只需要擦掉一些交互,那么一个完整的屏幕擦掉库可能会让您有些望而生畏。您可以简单地使用http库。它更容易学习,而且你更接近HTTP和HTML,这可能是你的老师想要你学习的。

例如,使用requests库:

>>> import requests
>>> payload = {'key1': 'value1', 'key2': 'value2'}
>>> r = requests.post("http://yourposturl", data=payload)
>>> print r.text

假设您知道html,那么您应该能够从表单页面的html中提取yourpostrl和变量。

然后,可以使用正则表达式从生成的html页面提取数据。对于一般的刮削解决方案,不建议这样做,但是对于从单个页面提取数据来说,这通常是很好的。

相关问题 更多 >

    热门问题