我有一个MySQL表格,里面充满了爬行的新闻文章HTML数据。我想用newspaper3k模块提取文章文本,我已经做过很多次了。
现在唯一的区别是,我不是提取URL并用报纸解析结果,而是从MySQL DB中提取原始的extracting。
不知何故,报纸(或鹅)不喜欢来自DB的字符串,因为返回的article.text总是''。
但是,当我在requests.get中使用一个URL,并将原始的HTML提供给报纸时,它就能工作了。因此,我猜想来自MySQL的数据是以不同的格式/编码方式被格式化/编码的,所以报纸不把它理解为HTML?!
当我从DB打印数据时,如下所示:
<!DOCTYPE html>\n<html lang="de">\n<head>\n\n<...虽然通过requests.get的html看起来像:
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8">
<!--
This website is powered by TYPO3 - inspiring people to share!
TYPO3 is a free open source Content Management Framework initially created by Kasper Skaarhoj and licensed under GNU/GPL.
TYPO3 is copyright 1998-2016 of Kasper Skaarhoj. Extensions are copyright of their respective owners.
Information and contribution at http://typo3.org/
--> ...发布于 2018-09-04 13:19:05
您将获得TYPO3页面的标题。可能是默认404页。(获取完整的HTML)
如果您的请求应该由TYPO3以外的任何东西处理,那么您将错过(htaccess-)配置(默认情况下,只要没有带有URL- TYPO3路径的静态文件,TYPO3就会响应每个请求)。
或者,您希望TYPO3服务器回答您的问题,而不是完整的页面(AJAX:?)?
然后,您可能在TYPO3中没有正确的配置来省略标头。
由于涉及到TYPO3,您也可以使用TYPO3标记您的问题。
发布于 2018-09-17 12:58:49
我自己解决的。谢谢大家。
结果,我只需要在来自数据库的HTML上使用BeautifulSoup,就可以将其分解为汤。现在起作用了。
https://stackoverflow.com/questions/52164042
复制相似问题