【问题标题】:Copy and paste text from a third party web page从第三方网页复制和粘贴文本
【发布时间】:2014-08-22 08:28:35
【问题描述】:

我想知道是否有办法从第三方网页复制和粘贴部分文本。我的老板让我将一组文本(50、100、200)一个接一个地输入到这个网站:http://fbatoolkit.com/chart_details?category=T2ZmaWNlIFByb2R1Y3Rz&rank=500 并将信息“3(30 天平均)”复制/粘贴到另一个文件中。 “rank=500”部分是 url 中的查询字符串。而且我也知道 html 源代码中的信息在哪里。是这里:

    <div style="margin: 20px">
        Estimate sales per day for the rank  
        <input type="text" name="rank" value="500" />
        in this category.

        <input type="submit" value="Estimate" />

            <table width="200">
                <tr>
                    <td>
                        3 (30 Days Avg)
                    </d> 
                </tr>
                <tr>
                    <td>
                        More than 2 (Last Day)
                    </td> 
                </tr>
            </table>

    </div>
</form>

我想知道是否有一种方法可以递归访问该网站并将该部分文本复制/粘贴到另一个文件中。我知道这可能不是最聪明的做事方式,但请帮忙,万能的堆栈溢出!我真的很感激。

【问题讨论】:

  • 复制和粘贴非常明确地暗示了用户操作。什么是编码问题?
  • @Popnoodles 我想知道是否可以使用代码将所有这些信息复制并粘贴到另一个文件中。总之,代码应该根据一组文本访问 url 并复制“3 (30 Days Avg)”信息太另一个文件。有很多复制/粘贴要做,这就是为什么我希望代码可以提供帮助。但是,是的,你是对的。这实质上是在模仿用户操作。
  • 你会做其他类别吗?这个问题似乎表明您只需要复制/粘贴 3 个值。在任何情况下,您都在谈论网络抓取。您有多少经验以及使用什么语言?
  • @Ryan 我可以做 python、java、javascript、scheme、php。但我实际上对javascript不是很熟悉。我没有做过很多网络开发。我之前开发过一款简单的网页游戏。
  • @Angelo。好的,我正在努力。那么您会查询多个类别还是仅查询一个类别?

标签: javascript php html url


【解决方案1】:

所以我不写python,但我会试一试。这些类型的任务通常很容易用 Python 完成。因此,我将为您提供通用语言结构,我将使用完整的链接来完成此操作。

一般步骤

  1. 设置类别数组
  2. 设置要使用的等级数组
  3. For 循环遍历每个类别,然后嵌套循环遍历每个等级
  4. 在这个内部循环中,像这样查询网页:请参阅This Answer 了解更多打开和读取 URL 的选项

    page = urllib.request.urlopen("URL HERE").read()

  5. 然后使用 RegEx 查找您感兴趣的文本,通过执行类似的操作(注意 - 下面的 RegEx 是在假设“(30 天平均)”是一个静态字符串的情况下创建的,看起来就像您提供的页面。如果您愿意,可以将此文本重新附加到分组项目的末尾):

    match = re.search("(\w+) (30 天平均)$", 字符串) extractText = match.groups(0)

  6. 根据This Answer将文本附加到您选择的文件中

  7. 关闭你的循环

抱歉,这不是更多的剪切和粘贴代码。此外,SO 文本编辑语法似乎不能很好地处理列表中的代码。 "extractedText..." 应该在自己的行中。

【讨论】:

  • 非常感谢!我会在今天下午写。
  • 我还有一个问题。我使用的排名每 500 次递增。但是我还有其他排名没有按照这个顺序递增,它们在 excel 中。有没有办法将excel列作为数组读取?
  • 是的。我没有用 Python 做太多事情,但是你应该能够将 excel 文件保存为 CSV(注意:它只会保留一张),然后我确信有像 docs.python-tablib.org/en/latest 这样的库可以很好地做到这一点.但是,这是一个单独的问题,应进行研究,然后在需要时作为问题发布。
  • 虽然我为您提供 urllib 部分,但似乎用正则表达式解析 html 对我来说似乎是一个太大的项目,尤其是作为一个新程序员。我现在正在尝试某种形式的库
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-02
  • 2021-09-09
  • 2021-10-10
  • 2022-09-23
  • 1970-01-01
  • 2020-12-09
相关资源
最近更新 更多