首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >线程+递归(采用1个位置参数,但给出了39个)

线程+递归(采用1个位置参数,但给出了39个)
EN

Stack Overflow用户
提问于 2016-03-08 02:29:41
回答 1查看 1.4K关注 0票数 3

伙计们,我正在尝试创建一个爬虫,但是我一直收到错误: TypeError: file_thread()接受1个位置参数,但给出了39个,这太奇怪了,因为它接受一个列表,并给出一个列表

代码语言:javascript
复制
        import sys
        sys.path.insert(0, "/media/user/Data/Programming/Projects")
        import re , threading , bs4 , async_lib , urllib.request

        file_lock=threading.Lock()
        spider_lock=threading.Lock()


        def file_thread(data):
            file_lock.accquire()
            print('IO Operation')
            async_lib.WriteAsync('spider.txt',data,).start()
            file_lock.release()


        def Get_Links(webpage):
            byte_html=urllib.request.urlopen(webpage).read()
            bad_html= byte_html.decode()
            html = str(bs4.BeautifulSoup(bad_html))
            all_links = re.findall('href="(http.*?)"',html)
            return all_links

        def spider_logic(raw_links):
            for link in raw_links:
                try:
                    links = Get_Links(link)
                    t1 = threading.Thread(target=file_thread,args=link).start()
                    t1 = threading.Thread(target=file_thread,args=links)
                    spider_lock.accquire()
                    print(links)
                    t2 = threading.Thread(target=spider_logic, args=links).start()
                    spider_lock.release()
                except:
                    pass


        def main():
            startup='http://www.myegy.to'
            links = Get_Links(startup)
            spider_logic(links)


        if __name__=='__main__':
            main()
EN

回答 1

Stack Overflow用户

发布于 2018-09-11 04:01:57

Thread()中传递给args的内容应该是可迭代的。当您传入一个字符串时,它会遍历每个字符,并将其视为一个单独的arg。相反,您应该将其作为元组传递。

代码语言:javascript
复制
t1 = threading.Thread(target=file_thread,args=(links,))
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35851191

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档