Python 调试使用Beautifulsoup的web抓取脚本

Python 调试使用Beautifulsoup的web抓取脚本,python,web-scraping,beautifulsoup,Python,Web Scraping,Beautifulsoup,我有一个csv文件,带有一些URL。当我尝试一个接一个地刮取url文本时,没有问题,但是当我运行一个函数尝试刮取所有url并将它们存储到数据框中时,我只得到了第一段 我需要纠正什么 def extract_text (row): try: url = row['url'] driver = webdriver.Firefox(executable_path='geckodriver.exe')

我有一个csv文件,带有一些URL。当我尝试一个接一个地刮取url文本时,没有问题,但是当我运行一个函数尝试刮取所有url并将它们存储到数据框中时,我只得到了第一段

我需要纠正什么

        def extract_text (row):
        try:
            url = row['url']
            driver = webdriver.Firefox(executable_path='geckodriver.exe')
            driver.implicitly_wait(30)
            driver.get(url)
            time.sleep(3)
            page = driver.page_source
            driver.quit()
            soup = bs.BeautifulSoup(page,'lxml')
            body = soup.find('div',class_ = 'content-canvas Bgc(#fff) Pos(r)')
            list_of_paragraphs = body.find_all('p')
            for paragraph in list_of_paragraphs:
                return(paragraph.text)
        
        except:
            next
    
    temp['text']=temp.apply(extract_text, axis=1)
    news = temp['text']
尝试:


您在for循环的第一次迭代中立即返回函数,这就是为什么您只得到第一段。

因为return会停止函数,所以它会在for循环的第一次迭代中停止。

请修复缩进。您进行过任何调试吗?请提供一份报告。
        results = []
        for paragraph in list_of_paragraphs:
            results.append(paragraph.text)
        return results