我并不是个喜欢语法的人,从高中就不会,虽然大学学的是英语专业,但是我基本上只看文学内容,对于语法(grammar),语言(linguistic)一向都是不看的。所以我喜欢的书一般都是纯文学类的,大学毕业还找了勃兰兑斯的19世纪文学主流来看,除了记住了浪漫主义7诗人其他的也都忘了,后来发现顾随和叶嘉盈的书很对我的胃口。
今天是忽然发现有个讲语法的页面,无法复制,Firefox里面用F12查看了页面的源代码,发现很简单的HTML结构,就写了个脚本用requests
和BeautifulSoup
来做这件事。对于这种没有什么JS的页面,我还是有自信的,对于heavy AJAX的页面,要用Splash
我也头疼的很。
代码如下:
from bs4 import BeautifulSoup
import requests
urls = ['http://www.yygrammar.com/Article/201706/5152.html', 'http://www.yygrammar.com/Article/201706/5152_2.html']
contents = []
for url in urls:
req = requests.get(url)
#req.encoding is 'ISO-8859-1',thus need these 2 lines
if req.encoding is None or req.encoding == 'ISO-8859-1':
req.encoding = req.apparent_encoding
soup = BeautifulSoup(req.text,'html.parser')
ps = soup.findAll('p', {'class':'MsoNormal'})
for p in ps:
#print(p.get_text())
contents.append(p.get_text())
from pprint import pprint
#remove printable '\xa0'
import unicodedata
result = [ unicodedata.normalize('NFKC', s) for s in contents]
[print(i) for i in result]
PREVIOUS还是非技术问题
NEXT升级完firefox后碰到的问题