如何解决如何使用Selenium和Django更快地抓取数据
我正在从事网络抓取项目。在这个项目中,我编写了必要的代码,以使用python
和selenium
从网站上刮取所需的信息。所有这些代码都驻留在一个类的多个方法中。这段代码另存为 scraper.py
。
当我执行这段代码时,该程序需要花费 6到10秒的时间从网站上提取所有必要的信息。
我想为此项目创建一个UI。我使用django
创建UI。在webapp中,有一种表单,提交后会打开一个新的浏览器窗口并开始抓取过程。
我访问 scraper.py
中的 django views
文件,具体取决于表单输入后,就会发生刮擦。虽然效果很好,但执行速度非常慢,几乎需要 2分钟才能完成运行。
如何使用django更快地执行代码?您能给我指出一些有关如何将 scraper.py
代码转换为django可以访问的api的教程吗?这样有助于提高代码速度吗?
预先感谢
解决方法
一些小技巧,
- 您的scraper.py首先如何工作?它只是打印站点链接/细节,还是将其存储在文本文件中,或者将其返回?到底发生了什么?
- 如果您希望将scraper.py用作“ API”,请在函数中编写scraper.py代码,该函数以字典的形式返回您抓取的网站的详细信息。 Django的views.py可以轻松处理此类字典并将其发送到前端HTML,以替换用Jinja2编写的部分。
- 通过使用多线程和/或多处理,可以达到更高的速度(以防刮板完成更大的工作)。请同时探索:)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。