相关疑难解决方法(0)

并发下载 - Python

计划是这样的:

我下载一个网页,收集在DOM中解析的图像列表,然后下载这些图像.在此之后,我将遍历图像,以评估哪个图像最适合代表网页.

问题是图像是逐个下载的,这可能需要相当长的时间.


如果有人能指出我关于这个话题的某个方向,那将是很棒的.

非常感谢帮助.

html python concurrency web-crawler

9
推荐指数
3
解决办法
6022
查看次数

使用wget -c功能在Python中使用urllib下载文件

我正在使用Python编程软件以从数据库下载HTTP PDF.有时下载会停止并显示以下消息:

retrieval incomplete: got only 3617232 out of 10689634 bytes
Run Code Online (Sandbox Code Playgroud)

如何让下载重新启动,停止使用206 Partial ContentHTTP功能?

我可以使用它wget -c并且它工作得很好,但我想直接在我的Python软件中实现它.

任何的想法 ?

谢谢

python http urllib download urllib2

7
推荐指数
1
解决办法
4514
查看次数

Python,多线程,获取网页,下载网页

我想在一个站点批量下载网页.我的'urls.txt'文件中有5000000个网址链接.这大约是300M.如何使多线程链接这些网址并下载这些网页?或批量如何下载这些网页?

我的想法:

with open('urls.txt','r') as f:
    for el in f:
        ##fetch these urls
Run Code Online (Sandbox Code Playgroud)

或扭曲?

它有一个很好的解决方案吗?

python twisted web-scraping

5
推荐指数
1
解决办法
1212
查看次数

下载使用队列扭曲的文件

我想使用twisted和(例如)20个客户端线程从队列中下载许多文件.任何例子?

python twisted

4
推荐指数
1
解决办法
3793
查看次数

同时下载多个页面?

我想在Python中编写一个脚本,可以从数据库中获取URL,并同时下载网页以加快速度,而不是等待每个页面一个接一个地下载.

根据这个线程,Python不允许这样做,因为有一个名为Global Interpreter Lock的东西会阻止多次激活相同的脚本.

在花时间学习Twisted框架之前,我想确保没有更简单的方法来完成我需要做的事情.

谢谢你的任何提示.

python concurrent-processing

2
推荐指数
2
解决办法
3245
查看次数

在启用cookie的站点上使用urlretrieve的多线程Web scraper

我正在尝试编写我的第一个Python脚本,并且使用了大量的Google搜索,我认为我已经完成了.但是,我需要一些帮助才能让自己走完终点.

我需要编写一个脚本,登录到启用cookie的站点,刮掉一堆链接,然后生成一些进程来下载文件.我有程序在单线程中运行,所以我知道代码工作.但是,当我试图创建一个下载工作池时,我碰到了一堵墙.

#manager.py
import Fetch # the module name where worker lives
from multiprocessing import pool

def FetchReports(links,Username,Password,VendorID):
    pool = multiprocessing.Pool(processes=4, initializer=Fetch._ProcessStart, initargs=(SiteBase,DataPath,Username,Password,VendorID,))
    pool.map(Fetch.DownloadJob,links)
    pool.close()
    pool.join()


#worker.py
import mechanize
import atexit

def _ProcessStart(_SiteBase,_DataPath,User,Password,VendorID):
    Login(User,Password)

    global SiteBase
    SiteBase = _SiteBase

    global DataPath
    DataPath = _DataPath

    atexit.register(Logout)

def DownloadJob(link):
    mechanize.urlretrieve(mechanize.urljoin(SiteBase, link),filename=DataPath+'\\'+filename,data=data)
    return True
Run Code Online (Sandbox Code Playgroud)

在此修订版中,代码失败,因为cookie尚未传输给工作者以供urlretrieve使用.没问题,我能够用机械化的.cookiejar类保存cookies在经理,并传递给工人.

#worker.py
import mechanize
import atexit

from multiprocessing import current_process

def _ProcessStart(_SiteBase,_DataPath,User,Password,VendorID):
    global cookies
    cookies = mechanize.LWPCookieJar()

    opener = mechanize.build_opener(mechanize.HTTPCookieProcessor(cookies))

    Login(User,Password,opener)  # note I pass the opener to Login …
Run Code Online (Sandbox Code Playgroud)

python cookies urllib urllib2 multiprocessing

2
推荐指数
1
解决办法
3645
查看次数