推荐学习书目
› Learn Python the Hard Way
Python Sites
› PyPI - Python Package Index
› http://diveintopython.org/toc/index.html
› Pocoo
值得关注的项目
› PyPy
› Celery
› Jinja2
› Read the Docs
› gevent
› pyenv
› virtualenv
› Stackless Python
› Beautiful Soup
› 结巴中文分词
› Green Unicorn
› Sentry
› Shovel
› Pyflakes
› pytest
Python 编程
› pep8 Checker
Styles
› PEP 8
› Google Python Style Guide
› Code Style from The Hitchhiker's Guide
jyb002
V2EX  ›  Python

如何判断一个 url 是不是一个 news article page?

  •  
  •   jyb002 · Sep 18, 2015 · 5157 views
    This topic created in 4074 days ago, the information mentioned may be changed or developed.

    我想下载尽可能多的新闻文章,现在用的是 Scrapy 来搭建爬虫,然后用 newspaper ,一个抓取新闻 metadata 的包,来抓取文章的标题、正文等。
    会遇到一些 url , newspaper 还是能抓取出一些东西,然后保存进来。想问下有没有办法,判断出 url 是否是 news articles page 。
    有大神知道,像 google news 他是爬取整个网络,是怎么判断出文章链接的?

    8 replies  •  2018-09-05 11:31:37 +08:00
    MasterYoda
    MasterYoda
    Sep 18, 2015
    1
    新闻和其他信息不同,搜索引擎有专门收录新闻网站。。。
    你可以看看百度和 Google 的新闻收录规定,你可以提交你的新闻网站,他们的收录方式不同,估计可以从这里判断出哪些是新闻吧。
    WKPlus
    WKPlus
    Sep 18, 2015
    2
    是指 url 去重么? bloom?
    say2old
    say2old
    Sep 18, 2015
    3
    新闻页面一般都是模板生成,在 URL 上一定符合某种 pattern 。你可以先通过某种方法收集新闻网页的 pattern (比如楼上说的去搜索引擎专门收录新闻网站的地方收集),然后做成 pattern 白名单在 scrapy 里面用,这样抓下来的所有页面都是新闻,再交给 newspaper 处理。如果希望通过文本分析判断一个页面是不是新闻,可以做,但不一定有新闻白名单的方案,简单且质量高
    zog
    zog
    Sep 18, 2015
    4
    数据量很大 bloom ,不大,几千几万个用 md5 吧。
    poke707
    poke707
    Sep 20, 2015 via Android
    5
    试试能不能把 sitemap 挖出来
    jyb002
    jyb002
    OP
    Oct 15, 2015
    7
    Python Code:
    import newspaper

    url = '要判断链接‘
    a = newspaper.article(url)
    a.is_valid_url()
    pinggaimuir
    pinggaimuir
    Sep 5, 2018
    8
    @jyb002 非常感谢
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2102 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 13:00 · PVG 21:00 · LAX 05:00 · JFK 08:00
    ♥ Do have faith in what you're doing.