【问题标题】:Is it possible to scrape webpage without using third-party libraries in python?是否可以在不使用 python 中的第三方库的情况下抓取网页?
【发布时间】:2016-09-25 22:30:25
【问题描述】:

我试图了解美丽的汤在 python 中是如何工作的。我过去使用过漂亮的汤,lxml,但现在尝试实现一个脚本,该脚本可以在没有任何第三方库的情况下从给定网页读取数据,但看起来 xml 模块没有太多选择并且会引发很多错误。是否有任何其他具有良好文档的库可以从网页读取数据? 我没有在任何特定网站上使用这些脚本。我只是想从公共页面和新闻博客中阅读。

【问题讨论】:

  • 你可以用scrapy,但它比漂亮的汤要复杂。
  • 嗨 polku,感谢您的评论。但我试图在没有第三方库的情况下使用。我的意思是我不想安装任何库并刮掉它。有办法吗?
  • 我不认为你有太多的选择,解析 html 不是一件小事。如果您继续朝这个方向看,您可能已经接近(也许已经太晚了)听说正则表达式并认为这将是一个好主意......剧透警告:这不是,这是一个可怕的想法,很多在你(包括我)之前,人们曾经和后悔过stackoverflow.com/questions/1732348/…
  • 如果这是一种学习体验,你当然可以。毕竟,模块本身是用 python 编写的。你可以用urllib阅读网站,然后用html.parser解析它。自己编写所有这些也可以完成,但这是一项无关紧要的任务。然而,这是一个学习经验,所以去火腿吧!我通过不必要的困难做事学到了很多东西。
  • 本课程是免费的,实际上在第一部分教你如何制作自己的网络爬虫,无需额外的库,udacity.com/course/intro-to-computer-science--cs101。这将是一系列 find() 与包含索引值的变量混合,因此它知道从哪里继续。值得一试。

标签: python xml-parsing web-scraping beautifulsoup html-parsing


【解决方案1】:

第三方库的存在是为了让您的生活更轻松。是的,当然你可以在没有它们的情况下编写程序(库的作者必须这样做)。但是,为什么要重新发明轮子呢?

你最好的选择是beautifulsoup 和scrapy。但是,如果您在使用 beautifulsoup 时遇到问题,我不会尝试 scrappy。

也许您可以只使用网站上的纯文本?

from bs4 import BeautifulSoup
soup = BeautifulSoup(html_doc, 'html.parser')
pagetxt = soup.get_text()

然后您就可以使用所有外部库并只使用纯文本。但是,如果您需要做一些更复杂的事情。 HTML 是您真正应该使用库进行操作的东西。它们太多了,可能会出错。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-07-18
    • 2015-01-23
    • 1970-01-01
    • 2017-06-27
    • 1970-01-01
    • 1970-01-01
    • 2011-09-22
    • 2012-09-12
    相关资源
    最近更新 更多