Skip to main content

WEB Content Extractor

Project description

Web-Extractor (python3)

Web-Extractor 支持Python 3.6+,旨在更方便更智能提取Html中所需内容。

主要用途对新闻的页面进行处理,剔除其中的html标签、超链接、脚本代码等内容,抽取出网页的标题、正文、作者、发布时间等信息

建议安装方法

pip install web-extractor

升级方法

pip install web-extractor --upgrade

使用方法

from web_extractor import NewsExtractor

extractor = NewsExtractor()
result = extractor.extract(url, title_xpath='//title/text()')
print(result)
{'title': '兵马俑VS自由女神!这段视频在国外火了', 'author': '张义凌', 'publish_time': '2020-05-03T18:13:02+08:00', 'keywords': '特朗普,推特,新冠肺炎', 'description': '原标题:兵马俑VS自由女神!这段视频在国外火了', 'content': '原标题:兵马俑VS自由女神!这段视频在国外火了\n新华社在其推特上发布的一则名为《病毒往事》的视频\n“我们发现了一种新病毒,它很危险......”“这只是一种流感!”\n4月30日,新华社在其推特上发布了一则名为《病毒往事》(Once upon a Virus)的视频,获得广泛关注。\n视频中,代表中国的兵马俑乐高小人不断地向世界发布新冠病毒的有效信息,而代表美国的自由女神乐高小人,则不断地予以否认。\n最终,自由女神乐高小人红起了脸,打起了点滴.....\n截至发稿,该视频获得152余万次观看,1.5万次转推,以及2.8万次赞。\n视频一经发布,立刻获得了推特网友和西方主流媒体的注意。尽管包括澳大利亚广播公司(ABC)在内的媒体,不怀好意地将其称为中国的“政治宣传”,但大部分理性的网友还是表示:视频所言不虚,特朗普政府的应对实在太差。\n《病毒往事》:美国漠视警告,抹黑中国\n一开端,时间显示为一月,一个戴着口罩的兵马俑乐高小人出现在了画面左侧,向世界发出了警告:“(我们)出现了奇怪的肺炎病例。”随后,世卫组织(WHO)出现在了右侧回应称:“收到!”\n时间演到了一月,兵马俑小人继续发布针对新冠肺炎的警告信息:这是一种新病毒,它很危险,我们得戴口罩了,还要待在家里。我们只用十天时间就建起了一座医院......\n自由女神小人则不断地对警告信息进行否认:这只是一种流感,无需戴口罩。至于隔离令?这是“侵犯人权”!只用十天建造一座医院?这是“炫耀”。\n二月后,兵马俑小人口中的疫情形势愈发严峻:新冠肺炎患者挤满了医院,医生英勇牺牲,病毒通过空气传播。但与此同时,小人背后出现不断地有新的医生补进,象征着当时中国举全国之力支援湖北,“白衣天使”们无私奉献抗击疫情。\n兵马俑小人背后不断有医护工作人员补进\n但自由女神小人还是不当回事。除了老调重弹把中国的隔离令称为“侵犯人权”外,还宣称病毒会在四月“奇迹般消失”。\n3月,中国的确诊病例数下降,画面中出现的比萨斜塔则表明,疫情的震中已从中国转向了欧洲,此时自由女神小人开始抹黑中国“撒谎”、“数据造假”,但小人的面部开始变红,还打起了点滴。\n自由女神小人面部变红,打起点滴\n四月,看起来状况不佳的自由女神小人开始了“胡言乱语”:“病毒一点不危险,但数百万中国人死了,即便病毒不危险,我们是对的......我们三个月什么也没干,因为世卫组织认同中国,我们要停止给其提供资金。”\n兵马俑小人无奈表示:“你真的有在听自己在说什么吗?”\n最终,自由女神小人说道:“我们一直是正确的,即便我们的说法自相矛盾。”此时,自由女神小人的嘴上戴上了口罩。\n视频在最后兵马俑小人的“神吐槽”中结尾:“这就是我最爱你们美国人的地方——你们的一贯性。”\n澳媒不怀好意报道,网友:这怎么能叫“政治宣传”?\n一经发布,《病毒往事》立刻获得了大量网友的关注和评论。截至发稿,新华社的这则视频在推特上已经获得了152万次观看,1.5万余次转推,以及2.8万余个赞。除中国驻法大使馆转推以外,包括美国《新闻周刊》、法国《费加罗报》以及澳大利亚广播公司(ABC)在内的西方主流媒体,都对此进行了报道。\n虽然这些媒体都不怀好意地将此视频称为中国的“政治宣传”,但他们也承认,其中自由女神小人的话语,确实都有理可依。例如,自由女神小人曾说,病毒会在四月“奇迹般消失”,此处引用的,正是特朗普今年2月所言:“很多人都认为它们会在4月消失,因为到时候天气就热了,温度高了,一般而言,高温会杀死这样的病毒。”\n相关新闻的推特下方,大多数理性网友都认为,视频所言不虚,特朗普政府的确应对太差,而针对西方媒体“政治宣传”的指控,网友则质问:这都是事实,怎么能叫政治宣传呢?\n新华社源视频下,获赞数最高的一条评论贴出视频,展现了自中国出现疫情以来,特朗普举行竞选集会、打高尔夫、否认病毒危险性的视频。该网友还评论称:“世卫组织早在1月就发出了关于新冠肺炎的警告,与此同时特朗普却在打高尔夫(小丑)。”\n截至发稿,该评论获得了1754个赞\nABC报道的推特下方,获赞数最高的一条评论指出,(到现在)特朗普仍旧不会明白(疫情严重性)。\n获赞数第二高的评论表示:“(视频)正确展示了所有无能政府忽略真实信息的事实,澳大利亚没有问题,美国需要向总统质问真相。”\n当然,评论中不乏网友指责、抹黑中国,但恰如一位网友所说:“喜欢看你们在这否定这个视频,你们就像视频里展现的西方一样。”\n还有更多人讨论起了西方媒体评论这则视频时使用的“政治宣传”一词:“不管这是不是政治宣传,视频里对美国的描绘都挺到位的。”\n“你为什么管这个叫政治宣传?对我来说,这(视频)就像一个简单的事实宣言集合。”\n来源:观察者网\xa0赵挪亚\n责任编辑:张义凌', 'images': ['//n.sinaimg.cn/sinakd202052s/591/w599h792/20200502/a69a-isyparh1975208.jpg', '//n.sinaimg.cn/sinakd202052s/173/w639h334/20200502/362e-isyparh1975259.gif', '//n.sinaimg.cn/sinakd202052s/67/w1080h587/20200502/ca58-isyparh1975254.jpg', '//n.sinaimg.cn/sinakd202052s/510/w598h712/20200502/9e60-isyparh1975305.jpg', '//n.sinaimg.cn/sinakd202052s/82/w599h283/20200502/b230-isyparh1975350.jpg', '//n.sinaimg.cn/sinakd202052s/133/w592h341/20200502/9686-isyparh1975349.jpg', '//n.sinaimg.cn/sinakd202052s/108/w597h311/20200502/2378-isyparh1975397.jpg', '//n.sinaimg.cn/sinakd202052s/799/w602h197/20200502/e207-isyparh1975395.jpg', '//n.sinaimg.cn/sinakd202052s/769/w601h168/20200502/25ac-isyparh1975447.jpg', '//n.sinaimg.cn/sinakd202052s/751/w1080h471/20200502/43fd-isyparh1975454.png']}

各个参数的意义如下:

url(str): 目标网页网址 与html二选一必填

html(str): 目标网站的源代码 与url二选一必填

title_xpath(str): 新闻标题的 XPath,用于定向提取标题

host(str): 图片所在的域名,例如https://www.sina.com, 那么,当从新闻网站提取到图片的相对连接/images/XXX.png时,会把 host 拼接上去,变成https://www.sina.com/images/XXX.png

noise_node_list(List[str]): 一个包含 XPath 的列表。这个列表中的 XPath 对应的标签,会在预处理时被直接删除掉,从而避免他们影响新闻正文的提取

author_xpath(str): 文章作者的 XPath,用于定向提取文章作者

keywords_xpath(str): 文章关键词的 XPath,用于定向提取文章关键词

description_xpath(str): 文章简介的 XPath,用于定向提取文章简介

publish_time_xpath(str): 文章发布时间的 XPath,用于定向提取文章发布时间

with_body_html(bool): 默认为 False,此时,返回的提取结果不含新闻正文所在标签的 HTML 源代码。当把它设置为 True 时,返回的结果会包含字段 body_html,内容是新闻正文所在标签的 HTML 源代码

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

web_extractor-0.1.2.tar.gz (17.0 kB view details)

Uploaded Source

Built Distribution

web_extractor-0.1.2-py3-none-any.whl (20.7 kB view details)

Uploaded Python 3

File details

Details for the file web_extractor-0.1.2.tar.gz.

File metadata

  • Download URL: web_extractor-0.1.2.tar.gz
  • Upload date:
  • Size: 17.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.3

File hashes

Hashes for web_extractor-0.1.2.tar.gz
Algorithm Hash digest
SHA256 5234adee5a08a7e9857c2c4f2c3ddcc6d1e17f46a17dccf6778d62d0c6bb46ca
MD5 81f80f710607de12fe6683f7d13b31f0
BLAKE2b-256 867f5b1f1d6a3b22351893bc87d006a8d00f00964e74431372237b6650dd30a4

See more details on using hashes here.

File details

Details for the file web_extractor-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: web_extractor-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 20.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.3

File hashes

Hashes for web_extractor-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a3e5582d68055c051ecb27aaad3405f9a2d0f90715d2bde4e1d62deb77b9ae3a
MD5 40dde81d9e25ba402669b60f11d9f414
BLAKE2b-256 a299c9cf7fb8424f36c71db345a958a7f9f0a061aea9c3e38ebf53a5e308e4a8

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page