wks
wks copied to clipboard
字体文件下载失败bug
在下载案例分析--林肯电气公司的激励制度时,发现第二页的字体文件font_csss无法获取。后来我做了两点改进解决了这个问题:
第一点,通过抓取我发现字体文件的url不对
首先在这里获取coverUrl的ID,cover = re.search(r'https://wkimg.bdimg.com/img/(.*?)\?', html).group(1)
https://github.com/BoyInTheSun/wks/blob/b2ece163e1f0bee505d81f6f751ef7afef85f324/main.py#L105
然后把这里的temp_dir改为cover
https://github.com/BoyInTheSun/wks/blob/b2ece163e1f0bee505d81f6f751ef7afef85f324/main.py#L166
最后得到可用的url,font_csss
第二点,我发现urllib无法正常获取这个url的数据,换成requests就可以获取了
page = requests.get(url=fonts_csss[pagenums[i]], headers=headers)
raw = page.text
修改之后,就可以完美下载整个文件了,感觉requests比urllib舒服多了
十分感谢!
urllib应该没啥问题,使用方法和requests有区别,其实我个人也习惯用requests,很奇怪我当时为什么这样写了。
希望能够和您深入交流,联系我的邮箱sun__by#163,com(替换符号,防爬虫)
temp_dir = url.split('?')[0].split('/')[-1][:-5] 有些时候复制过来的链接没有后缀 .html 可能有点不通用。
page_data['readerInfo']['docId'] 这个是文档id
page_data['viewBiz']['docInfo']['showStoreId'] 这个是cover
我用这2种下载ttf都没报错,但是合并pdf时缺f1c1c7c10740be1e640e9a810010002.ttf
只有下面这3个,第二页还是没有
f1c1c7c10740be1e640e9a810010001.ttf f1c1c7c10740be1e640e9a810020001.ttf f1c1c7c10740be1e640e9a810030001.ttf
我打开网页看了一下,page_data['readerInfo']['htmlUrls'] 没了,但是requests还是能获取到 https://yyfyyf.lanzouj.com/inVLy08lq8xc https://yyfyyf.lanzouj.com/iTq3N08lq8ze
我打开网页看了一下,page_data['readerInfo']['htmlUrls'] 没了,但是requests还是能获取到 https://yyfyyf.lanzouj.com/inVLy08lq8xc https://yyfyyf.lanzouj.com/iTq3N08lq8ze
意思是网页上有,但是没有保存下来吗
我打开网页看了一下,page_data['readerInfo']['htmlUrls'] 没了,但是requests还是能获取到 https://yyfyyf.lanzouj.com/inVLy08lq8xc https://yyfyyf.lanzouj.com/iTq3N08lq8ze
意思是网页上有,但是没有保存下来吗
是代码请求到了第一页,第二页地址打不开,但是浏览器打开网页源码整个包含json和ttf链接的那个htmlurls都找不到了