求助啊,爬虫用for循环只显示第一个数据
def beautiful_soup():url = 'http://desk.zol.com.cn/4/' #返回值是418的,意味着有反爬虫机制
# 有反爬虫机制,所以需要一个伪装的header,header的内容是用户代理(UA),注意ua的实例化需要用字典的方式{}
headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36"}
res = requests.get(url,headers = headers)
print(res)
# 对下载下来的网页重新编码,这是中文网页的特殊性,不然会乱码
res = res.content.decode('gb2312','ignore').encode('utf-8','ignore') #ignore意味着忽略乱码部分
# 使用beautifulsoup的第一步:下载整个网页,以text格式,被parser解析器所解析,存储在soup变量中
soup = BeautifulSoup(res,'html.parser')
all = soup.find_all('ul',attrs={'class':'pic-list2 clearfix'}) #attrs是特殊变量,用它是因为class与python自带的class定义重名,我们用attrs包裹一下
# 接下来,用get_text()函数,显示title-a标签包含的纯文本内容,用get('href')获取图片的url
print(all_img_tag)
for each in all:
link = each.find('li').find('a')['href']
title = each.find('li').find('a').find('img')['alt']
print(str(title) + str(link))
代码是这样,all打印结果包含网页全部想爬的内容,但是for历遍却只能打印第一个需要的数据,求解 急,在线等 我发现问题好像是,我查找到的all,似乎不是个字典格式的,for循环里的each直接等于all的所有数据。。。。。 怎么删帖。。我自己解决了,原因是网页没分析好 大甲鱼吃小甲鱼o 发表于 2020-7-18 12:13
怎么删帖。。我自己解决了,原因是网页没分析好
那你也别删帖了,给我设置个最佳答案怎么样 那你也别删帖了,给我设置个最佳答案怎么样
页:
[1]