网页为了恶心用户,连基本的开发标准都抛弃了

今天研究如何判断网页正文,看到有的网站用换行(br)代替段落,有的网站干脆自己定义了一个类,然后用 div 代替段落。有筷子不用,非得用碗从锅里蒯着吃……

技术不咋行,胡搞第一名。

求问正常应该怎么搞呀

(我就是定义了一个class,然后把正文全放在那个div里面)

</br>应该能省不少字节,似乎以前知乎回答是这样搞的,反正看起来都一样;另外已经我学的时候,老师也叫我们干脆全部用 div,应该是习惯问题

不是有一些Html2Article这样的正文提取库可以方便爬虫用吗

开发网页的时候最讨厌要文字两端对齐的设计。应该不可能通过css实现。语义化也没什么用

text-align: justify;

现在前段开发很多都是模板框架,,

没听太懂,左侧这种是都没折行么?

你读这里吧

这是我写的教程,这些内容我都对着 mdn 自己整理测试了一遍的。

你的网址我这打不开。图中是一个表格,想让第一列的字进行两端对齐。

text-align: justify;    // 文字对齐方式:两端对齐,但不包含最后一行
text-align-last: justify;    // 最后一行文字的对齐方式,可以单独设置
1 Like

学习了,不过还是在Firefox上不生效。代码是这样

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    .a{
      text-align: justify;
      text-align-last: justify;
    }
  </style>
</head>
<body>
  <table>
    <thead>
      <tr>
        <th></th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td class="a">测试</td><td>1</td>
      </tr>
      <tr>
        <td class="a">测试测</td><td>1</td>
      </tr>
      <tr>
        <td class="a">测试测试</td><td>1</td>
      </tr>
      <tr>
        <td class="a">测试测</td><td>1</td>
      </tr>
      <tr>
        <td class="a">测试测试测</td><td>1</td>
      </tr>
      <tr>
        <td class="a">测试</td><td>1</td>
      </tr>
    </tbody>
  </table>
</body>
</html>

测试了一下,确实如此,打给火狐对此属性的这个值兼容的不好,因为挺冷僻的,所以也没什么人反馈吧。

不过现在 Chrome 占有率这么高,基本算是现实标准了,大部分时候我只考虑对 Chrome 的兼容性。

确实chrome的占有率很高,但是当时客户要求了只能使用Firefox。

把每个单字放进一个 span,然后 flex 布局应该可以吧

之前我就这么干的。幸亏当时要求的Firefox版本能支持flex。

用 span 虽然代码磨叽,但在语义化方面没啥问题

因为对于开发来说, div后期方便调整.

用p的话, 基本不可控了.

正文里的段落,还调整什么……

而且用 p 也一样可控的

比如加广告.

这是最现实的.

加广告和这个没关系。

反正前端可用的方法很多,去广告的规则可用方法有限。所以加一个不容易去掉的广告并不很难。

反过来只要能往页面注入脚本(比如油猴子),什么广告都能给干掉,除非写软文。不过这种要牺牲的性能多点。

这种违背规则的做法最直接效果就是正文识别难度增加,想弄一个同时适配所有网站的规则很难。但对于爬虫(一般只针对单个站),其实效果不大。