python3——爬虫(day2)

基于前一天的内容,做了功能的增强

功能:可以获取新闻的标题内容和图片内容,并且保存图片到本地

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)

 

你可能感兴趣的:(python,爬虫)