【问题标题】:Python Scrapy - Scraping data from multiple website URLsPython Scrapy - 从多个网站 URL 抓取数据
【发布时间】:2015-01-15 06:22:07
【问题描述】:

对于我的一个网络项目,我需要从不同的网络资源中抓取数据。为了简单起见,我用一个例子来解释。

假设我想抓取他们制造商网站中列出的有关手机的数据。

http://www.somebrand1.com/mobiles/ . . http://www.somebrand3.com/phones/

我有大量的 URL 列表。 每个品牌的页面都有自己的浏览器 HTML 呈现方式。

我如何编写一个规范化的脚本来遍历那些列出网页 URL 的 HTML 并抓取数据而不考虑它们的格式?

否则我需要编写一个脚本来从每个模式中抓取数据吗?

【问题讨论】:

    标签: python xpath web-scraping scrapy


    【解决方案1】:

    这被称为Broad Crawling,一般来说,这不是一件容易实现的事情,因为网站使用不同的性质、表示、加载机制。

    一般的想法是拥有一个通用蜘蛛和某种特定于站点的配置,您将在项目字段和用于从页面检索字段值的 xpath 表达式或 CSS 选择器之间进行映射。在现实生活中,事情并没有看起来那么简单,有些字段需要后处理,有些字段需要在发送单独的请求后提取等等。换句话说,很难保留同时通用和可靠。

    通用蜘蛛应该接收到一个目标站点as a parameter,读取站点特定的配置并根据它爬取站点。

    另见:

    【讨论】:

    • 感谢您的快速回复。无论如何,我可以最大限度地减少处理时间。提供了一个巨大的列表,什么是有效的方法?
    • @Bubi 欢迎您。您的意思是您有大量要抓取的网站列表?
    • 是的。我的意思是。我有一大串要抓取的域。
    • @Bubi 是的,明白了。我会将您的域保存在数据库中。然后,分别逐个浏览您的网址并创建字段注释并将它们保存在每个域的数据库中。在蜘蛛中,从数据库中读取域并启动请求。不知道具体情况很难提供帮助。希望,至少,现在事情更清楚了。
    • 是的,这似乎不错。会试一试。谢谢你的建议!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-23
    • 1970-01-01
    • 1970-01-01
    • 2016-11-28
    • 1970-01-01
    相关资源
    最近更新 更多