我要做的是为不同的wiki图像网站设置一个刮刀,然后在"实时"中获取链接。来自不同的课程/模块。
结构基本上是:
main.py:将线程进程调用给scraper scraperwiki1.py,scraperwiki2.py是获得结果的人
我现在拥有的是在main.py中它调用刮刀并等待返回:
scraped_images = scraperwiki1(url)... etc etc
(this is actually threaded to call multiple scrapers at once, but I am simplifying here)
并在每个scraperwiki上:
imageList = []
r = requests.get(url).content
result = ... scraper functions ...
for images in result:
imageList.append(images)
return imageList
但是除了等待scraperwiki1,scraperwiki2处理所有链接然后将结果作为列表返回之外,还有什么我可以做到的,以便在它仍在进行时获得这些结果?
我尝试在main.py中设置全局
scraped_images = []
global scraped_images
然后在scraperwiki1和scraperwiki2
中import scraped_images
r = requests.get(url).content
result = ... scraper functions ...
for images in result:
scraped_images.append(images)
但似乎我无法以这种方式访问和附加到列表中。
有没有办法优化这个过程?因为有时候刮大页面需要一段时间。
提前致谢