从文件中检索URL进行抓取

时间:2018-09-26 14:03:50

标签: python python-3.x scraper

我做了刮板,我想做 函数“ page_link =”“”扫描保存在JSON,XML或SQL文件中的每个URL。

有人可以指出我的方向,以便我可以学习如何使此动态而不是静态吗?

您不必给我答案,只需将我指向可以让我更多地了解我应该做什么的地方。我还在学习。

int partition (int values[], int low, int partitionSize, int size)
{
    int pivot = values[partitionSize]; // the pivot value
    int i = (low - 1); // currently selected element

    // work out if all values have become the pivot value, loop until all have.
    for (int j = low; j <= partitionSize-1; j++)
    {
        if (values[j] <= pivot)
        {
            i++;
            swap(values[i], values[j]);
            draw_sort(values, size);
        }
    }
    swap(values[i + 1], values[partitionSize]);
    draw_sort(values, size);
    return (i+1);
}

void quick_sort (int values[], int low, int partitionSize, int size)
{
    if (low < partitionSize)
    {
        // This is the partitioning index for quick sorting
        int pi = partition(values, low, partitionSize, size);

        // This sorts small partitions at a time then sorts them together.
        quick_sort(values, low, (pi - 1), size);
        quick_sort(values, (pi + 1), partitionSize, size);
    }
}

1 个答案:

答案 0 :(得分:0)

JSON似乎是完成此任务的正确工具。 XML和SQL在您需要的简单功能上有些繁琐。此外,Python具有内置的json读/写功能(json在很多方面与Python dict相似)。

只需在要与此文件相似的json文件中保存要访问的网站列表(将其放入名为test.json的文件中)即可:

{
    "sites": ["www.google.com",
              "www.facebook.com",
              "www.example.com"]
}

然后对以下每个网站进行抓取:

import json
with open('test.json') as my_json:
    json_dict = json.load(my_json)
for website in json_dict["sites"]:
    print("About to scrape: ", website)

    # do scraping
    page_link = website
    ...

这将输出(如果您删除了...):

About to scrape:  www.google.com
About to scrape:  www.facebook.com
About to scrape:  www.example.com

只需将要进行抓取的其余逻辑(如您在问题中的上面所述)放在# do scraping注释下即可。