日常代码分享

进口请求
从bs4进口美容汤
进口操作系统
进口再
进口追溯
从日期时间进口日期时间
标题='User-Agent':在Windows NT下运行的操作系统AppleWebKit/537.36 浏览器浏览器浏览器浏览器浏览器浏览器}
#获取一个新闻网页的内容,返回新闻dictionary的简写和图片列表
定义文件获取新闻联系方式:
新的_dict=
【】中国人民解放军报
尝试:
#获取页面内容
获取(url,标题=标题)
表面编码=表面编码
#2.用美容汤提取标题、时间、作者、来源、正文、图片
汤=美丽的汤'html.parser')
#标题
new_title=soup.find(阿一,类别_=主标题)文本
#print(新标题)
#时间
new_time=soup.select(跨日期)[0文本
#print(新的时间)
#作者
新的作者=soup.find(普,类别_=显示作者)文本
#print(新作者)
#来源
new_source=soup.select(来源)[0文本
#print(新来源)
#正文
新闻_文章=soup.select(第#条>第p条)
tmp_str=''
为我在范围(伦(新闻_文章)1):
tmp_str+=新闻文章【i】中的文本+"\r\n"
#print(新文章)
#图片
新闻_pic=soup.find(迪夫,类别_='img_wrapper')
【】中国人民解放军报
为照片在新闻_图片:
请看下面的例子:斯克拉))
#new_dict={'title':new_time,'time':new_time,'source':new_source,'author':new_author,'article':tmp_str,'picture':news_pic_list}
#print(new_title,new_time,new_author,new_source,tmp_str,news_pic_list)
新字典【标题新标题
新字典【时间=新的_时间
新字典【来源=新的来源
新字典【作者=新作者
新字典【“物品”=tmp字符串
新字典【“图片”=新闻_图片列表
除了例外作为e:
打印("抓取出错,此条新闻略过")
返回新闻图片列表

#print(news_pic)

#获取一个新闻列表页的所有连接
定义get_url(新列表URL):
#获取网页内容
(新的_list_url,标题=标题)
表面编码=表面编码
#获取内容中所有超链接
汤=美丽的汤'html.parser')
【】关于我们
新闻_url=soup.select("一个字")
为一种在新闻_网址:
url_list.append(a.get(阿勒夫))
打印("本页共有{0}条新闻连接{1}".格式(伦(url_list),url_list))
返回url_list
#获取所有新闻连接
定义文件获取_所有_url(新列表URL):
【】关于我们
为我在范围(1,3):
url=new_list_url.format(页=i)
打印("第{0}个页面的新闻列表{1}".格式(网址))
请输入您的电子邮件地址(url)
新闻列表=新闻列表+新闻列表#将每个页面的网址列表合并成一个url列表
returnnews_url_list

#保存新闻
#(1)按照新闻标题创建文件夹
定义文件保存_新的(root_dir,new_dict,图片列表):
尝试:
标题=新的_dict【'title']
#除去标题中的特殊字符(以标题为名称建立文件夹)
为ch在'/\!?//- <>|""《》':
替换(ch,'')
文件名:root_dir+文件名+title
如果没有(文件名):
数据库文件_dir
#保存新闻文本
保存文本(file_dir,new_dict)
#保存图片
保存_pic(文件目录,图片列表)
除了例外作为英:
打印("保存出错",e)
打印("保存完毕,新闻文件路径:",file_dir文件)

#保存新闻的文本内容
定义文件保存文本(文件目录,new_dict):
分辨率=('标题'+new_dict[标题]+'\r\n'+"时间"+new_dict[时间]+'\r\n'+
'作者'+new_dict[作者]+'\r\n'+"来源"+new_dict[来源]+'\r\n'+
'新闻正文'+new_dict[“物品”])
标题=新的_dict【标题]
为ch在'\ : ; . ? / -《》""、':
替换(ch,'')
文件路径=文件目录+操作系统+标题+'/txt'
#文件路径=文件目录+Os sep+标题
和打开(文件路径,'wb')作为方案规划:
写(再编码)'utf-8'))
#用fp打开文件(file_dir,w):
#fp.write(res)

定义文件保存_图片(文件目录,图片列表):
为我在范围(伦(pic_list)):
#图片名
pic_path=file_dir+os.sep+斯特(i+1)+“.jpg”
尝试:
第一个问题是:(i)标题=标题)
除了requests.exceptions.MissingSchema作为e:
#打印(图片url',pic_list[i],e)
获取('http:'+pic_list【i】中的一个例子,标题=标题)
和打开(pic_path,'wb')作为方案规划:
fp.write(内容部分)


如果名称=="主要的":
网址='http://roll.news.sina.com.cn/news/gnxw/gdxw1/index_{页名}.shtml
您的位置:首页(url)
打印("-------连接获取结束--------")
打印("即将抓取{0}条新闻".格式(伦(网址列表))
为u在地址列表:
新的,图片=获取新闻(你)
如果新增:
另存新(“丁:\\医生“,新的,图片)
打印("--------抓取并保存结束----------")
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值