簡體   English   中英

Web抓取大數據時,進程以退出代碼-1073740791(0xc0000409)完成

[英]Process finished with exit code -1073740791 (0xc0000409) when web scraping large data

我編寫了腳本來對網頁進行一些網絡抓取。 網頁上有JavaScript,因此在使用BeautifulSoup抓取所需內容之前,我使用PyQT5渲染了頁面。

但是,我要抓取許多頁面(超過10,000個),並且試圖將內容存儲在dict中,然后將其轉換為json文件。 我已嘗試定期周期性地寫入json文件,因為我認為由於刮擦次數而導致字典變得太大。 仍收到退出代碼。

在另一個線程上,有人提出了有關更新視頻卡驅動程序的建議(不知道為什么這會影響我的Python腳本,但是我試了一下。沒有任何進展。)

問題(至少在這種情況下) 字典太大了。 我解決問題的方法是每隔1000次抓取,通過在文件名后附加迭代器,將日期轉儲為硬盤上的json格式,清除dict,增加迭代器,然后繼續抓取。

... while/for loop iterating over all web pages
    data_table = soup.find('table', attrs={'class', 'dataTable'})
    ... process data into dict d
    data[id] = d
    if id % 1000 == 0:
        with open(r'datafile-{num}.json'.format(num=id//1000)) as file:
            json.dump(data, file)
        data.clear()
    id += 1  # increment the key for dict data and counter for file separation

由於我現在有很多文件,但至少有我想要的數據,這並不理想。 萬一其他人在Windows上獲得退出代碼-1073740791(0xc0000409),如果將大量數據轉儲到詞典中,這很可能就是原因。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM