如何使用多線程爬蟲做request.get回傳數值
2020/01/14 上午 09:17
Python網路爬蟲討論版
Jeff Huang
觀看數:7
回答數:1
收藏數:2
pycrawler
請問用多線程爬蟲後, 後續要如何用BeautifulSoup進行解析, 也就是該如何接受request.get的回傳值, 謝謝
_thread.start_new_thread(requests.get, (url, ))
回答列表
-
2020/01/15 下午 05:18張維元 (WeiYuan)贊同數:2不贊同數:0留言數:0
嗨,如果是使用我們介紹的 _thread 內建套件的話無法取得回傳值(程式已經被分成兩的部分各自執行)。比較好的作法就是 Function 內處理後寫入資料庫或是外部檔案。
另外有一個叫 threading 的第三方套件,可以做到取回回傳值,其作法如下:
```
fromthreadingimportThread
deffoo(bar):
print'hello {}'.format(bar)
return'foo'
thread=Thread(target=foo,args=('world!',))
thread.start()
ret=thread.join()
print(ret)```
這兩個套件的差異可以看這篇:https://stackoverflow.com/questions/5568555/thread-vs-threading
