这个书法字典,我关注了很久。这个网站比我之前抓过的内容都要丰富。如果做了这一个,书法字典可以放手了,一劳永逸了。可惜我技术有限,对于有JS的网站无能为力。hua大或哪位大神可否出手相助抓下,字表有GBK的字就够了。
内容很丰富,有学习价值。
我可以洗版。
6.23更新;製作完成!
这个书法字典,我关注了很久。这个网站比我之前抓过的内容都要丰富。如果做了这一个,书法字典可以放手了,一劳永逸了。可惜我技术有限,对于有JS的网站无能为力。hua大或哪位大神可否出手相助抓下,字表有GBK的字就够了。
内容很丰富,有学习价值。
我可以洗版。
6.23更新;製作完成!
地址问题,搞不定。
就是post表单,不是js
另外gbk太多了吧, GB2312就够了
这个网站没有反爬,下面是最粗糙的代码
import requests
sortlist=["0","3","4","5","6","7","8","9","shiliang","gangbi","zhuangke"]
with open(r'D:\现代汉语通用字表.txt','r',encoding="utf-8") as f:
zi=f.read()
for z in zi:
for s in sortlist:
data={'wd':f'{z}','sort':f'{s}'}
r=requests.post('http://www.shufazidian.com',data=data)
with open(r'd:\shufa.txt','ab') as fi:
fi.write(r.text.encode())
print('end')
爬完后,先清洗数据,然后如果需要离线图片,用imd批量下载就行
清洗时注意form标签中有字和字体信息,下例中的字是“无”,字体是简牍
> <form name="form1" method="post" action="">
<input name="wd" type="text" id="wd" value="无">
<select name="sort" id="sort" >
<option value="8" >行 书</option>
<option value="9" >楷 书</option>
<option value="7" >草 书</option>
<option value="6" >隶 书</option>
<option value="5" >魏 碑</option>
<option value="4" selected>简 牍</option>
<option value="3" >篆 书</option>
<!--option value="0" >高清所有</option-->
<option value="shiliang">设计师专用</option>
<option value="gangbi">钢 笔</option>
<option value="zhuangke">篆 刻</option>
</select>
<button type="submit"></button>
</form>
GB2312够了,我看了下,簡體,繁體內容是一樣的。
很厲害!感謝出手!先搞定網頁數據,圖片可再弄。
本来想下载了给你,但因为懒写得简单,数据很多,下载了一会儿出去有事,随手就合上电脑,所以程序停了。我把字表传上来,省得你找,还得处理
现代汉语通用字表纯字表.txt (20.5 KB)
我不會用PY,網頁數據你幫忙抓一下唄
那好吧,我去单位了挂上,家里笔记本合习惯了
大神,有在抓吗?
挂上了。我是虾米
python学了一点点,呃,从入门到放弃
学会还是好啊
捣鼓半天,終於把python裝上了,成功跑了你寫的代碼,只是速度稍慢。
補:沒成功,跑了一段时间中止了。。。。
继续调试中。。。
辛苦了,感谢,期待哈。。。
网页基本抓完了。剩下图片。。。
跑这么快,我昨天看到你说程序中断,刚加了些手段,看来不需要了,哈哈。
外,由于没有解析筛选,抓的文本冗余部分很多,辛苦你了。
import requests,time,random
from retrying import retry
@retry(stop_max_attempt_number=3)
def do():
r=requests.post('http://www.shufazidian.com',headers=headers,data=data)
return r
headers={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36 Edg/90.0.818.46"}
sortlist=["0","3","4","5","6","7","8","9","shiliang","gangbi","zhuangke"]
with open(r'D:\现代汉语通用字表.txt','r',encoding="utf-8") as f:
zi=f.read()
for z in zi:
for s in sortlist:
data={'wd':f'{z}','sort':f'{s}'}
r=do()
with open(r'd:\shufa3.txt','ab') as fi:
fi.write(r.text.encode())
time.sleep(random.random()*6)
print('end')
分成15份,一起抓的。图片也下完了。接下来洗版了。另:古诗文网能不能想想办法,您写粗略代码,我来跑。
好,有空了试试看