基于前一天的内容,做了功能的增强
功能:可以获取新闻的标题内容和图片内容,并且保存图片到本地
import urllib3
from bs4 import BeautifulSoup
import requests
response=requests.get('https://www.autohome.com.cn/news/')
response.encoding=response.apparent_encoding
#print(response.text)
soup = BeautifulSoup(response.text,features='html.parser')
target=soup.find(id='auto-channel-lazyload-article')
#print(target)
li_list=target.find_all('li') #li_list是列表类型,不是soup对象,所以没有find方法
#print(li_list)
#但li_list[0]是soup对象,有find方法
for i in li_list:
a = i.find('a')
if a: #有的li标签不含有a标签,所以需要判断一下是否有a标签,否则会报错
print ('——————',a.attrs.get('href')) #attrs 找到a标签下所有属性, 返回值是字典类型
txt = a.find('h3').text
print ('###########',txt)
img=a.find('img').attrs.get('src')
print ('@@@@@@@@@@@',img)
img_response = requests.get(url='https:'+img)
import uuid
file_name = str(uuid.uuid4()) + '.jpg'
with open(file_name,'wb') as f:
f.write(img_response.content)