业余时间,想学习中华文化之成语,身边没有成语词典,网上一个个翻网页又比较懒,花了半个小时搞定数字成语词典,你值得拥有!
爬取思路
- 找到首页网址:https://www.chengyucidian.net/
- 按照拼音字母种类抓取,注意有些字母没有成语;
- 获取每个字母种类的每一页所有成语链接
- 获取每一页链接下的内容
废话不多说,直接上代码给各位看客拿去上手撸!
import requests
from bs4 import BeautifulSoup
import re
headers = {
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.2 Safari/605.1.15'
}
def getChengyu(cate, page):
f=open("chengyu_urls.csv","a",encoding="utf-8")
res=requests.get("https://www.chengyucidian.net/letter/"+str(cate)+"/p/"+str(page), headers=headers, allow_redirects=False)
res.encoding="utf-8"
soup=BeautifulSoup(res.text)
urls=soup.select('div[class="cate"]')
print(urls)
urls