python爬取头像问题
本帖最后由 ln19970505 于 2020-3-20 08:11 编辑我想用这、个代码爬一下网页上的头像,、这个get_img函数单独用是好用的,放到循环里就报错了,OSError: Invalid argument: '\n王志敏\n.png'请问这个错误该怎么解决?
import requests
from bs4 import BeautifulSoup
url = 'https://laoshi.xdf.cn/21'
resp = requests.get(url)
soup = BeautifulSoup(resp.text,'lxml')
def get_img(url, fn):
resp = requests.get(url)
with open('{}.png'.format(fn), 'wb') as f:
f.write(resp.content)
#get_img('https://laoshiimg.xdf.cn/./2019-08-15/01747c7d5715e.jpg', '王志敏')
for zl in soup.select('dl'):
for h3 in zl.select('h3'):
name = h3.text
for a in zl.select('p'):
jybj = a.text
for b in zl.select('p'):
kc = b.text
for img in zl.select('dt'):
img_address = img.img.get('src')
if '英语' in kc:
get_img(img_address, name)
# print(name, jybj, kc, img_address)
https://attach.52pojie.cn//forum/202003/19/235716yj3juf3zief4j2eo.png?l
https://attach.52pojie.cn//forum/202003/19/235714r1zcyr1qmcy2elyh.png?l
with open('{}.png'.format(fn), 'wb') as f:
改成
with open('{}.png'.format(fn.replace('\n','')), 'wb') as f: \n?为什么会有这个?参数错误 可能不支持中文或者用wb+试试 本帖最后由 ln19970505 于 2020-3-20 08:13 编辑
jidesheng6 发表于 2020-3-20 00:17
\n?为什么会有这个?参数错误 可能不支持中文或者用wb+试试
您好,谢谢您的回复,我想问一下这个get_img函数我直接传入参数是好用的,能爬取头像,如下图,但是我把他放到循环里,传入参数时就报错了,它应该是支持中文的,麻烦您帮我看一下。
本帖最后由 ln19970505 于 2020-3-20 08:16 编辑
a5582323 发表于 2020-3-20 00:11
with open('{}.png'.format(fn), 'wb') as f:
改成
with open('{}.png'.format(fn.replace('\n','')), 'w ...
谢谢您,问题解决了,是因为有换行符导致参数错误,传递不进去吗? ln19970505 发表于 2020-3-20 08:13
谢谢您,问题解决了,是因为有换行符导致参数错误,传递不进去吗?
https://i.loli.net/2020/03/20/XIjOxFlfs3LEza6.png
为什么不自己试一下?
页:
[1]