受阻代码块在另一个受防护的代码块中

时间:2017-02-18 19:27:34

标签: markdown

我试图撰写关于Markdown语法的文章,并写下它,我使用Markdown。

所以,我的文档看起来像这样:

Example of markdown code:

```
foo

```
fenced code block (fail)
```

bar
```

lalala...

这打破了解析器。屏幕截图来自Commonmark dingus,但也在我尝试的其他解析器中呈现,即Showdown和MultiMarkdown。

(也许这些问题在非javascript解析器中得到修复,比如Kramdown?我没有经过测试)

enter image description here

如何解决?

1 个答案:

答案 0 :(得分:2)

即使我在文档中找不到它,也可以增加commonmark.js dingus GitHub Flavored Markdown 上的反引号数量。请注意,它可能不适用于其他解析器(如Showdown)。但是,有些解析器根本不支持 fanced code 。假设这对您有用,您的示例可以像这样修复:

import requests
from bs4 import BeautifulSoup

# Setting user agent to a real browser instead of requests
headers = requests.utils.default_headers()
headers.update(
    {
        'User-Agent': 'Mozilla/5.0',
    }
)

# create a session and login
s = requests.Session()
login_page = s.get('https://www.economist.com/user/login', headers=headers)
login = BeautifulSoup(login_page.text, 'lxml')
form = login.select_one("form > div > input")
payload = {
            'name' : '////////////',
            'pass' : '////////',
            'form_build_id' : form['value'],
            'form_id' : 'user_login',
            'securelogin_original_baseurl' : 'https://www.economist.com',
            'op' : 'Log in'
            }
response = s.post("https://www.economist.com/user/login?destination=%2F",
data=payload, headers=headers)

# check homepage banner to see if login or logout link is there
url = "https://www.economist.com/"
r = s.get(url, headers=headers)
soup = BeautifulSoup(r.text, 'lxml')
banner = soup.select("div > div > span > a")
for table_row in banner:
    print(table_row['href'])

另一种可能性是不使用隔离代码。你可以写

Example of markdown code:

`````
foo

```
fenced code block (fail)
```

bar
`````

lalala...