作业要求来自:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2941

1.从新闻url获取新闻详情: 字典,anews

主要代码:

 1 import requests
 2 from bs4 import BeautifulSoup
 3 from datetime import datetime
 4 import re
 5 def click(url):
 6     id=re.findall('(\d{1,5})',url)[-1]
 7     clickUrl='http://oa.gzcc.cn/api.php?op=count&id={}&modelid=80'.format(id)
 8     resClick=requests.get(clickUrl)
 9     newsClick=int(resClick.text.split('.html')[-1].lstrip("('").rstrip("');"))
10     return newsClick
11 def newsdt(showinfo):
12     newsDate=showinfo.split()[0].split(":")[1]
13     newsTime=showinfo.split()[1]
14     newsDT=newsDate+' '+newsTime
15     dt=datetime.strptime(newsDT,'%Y-%m-%d %H:%M:%S')
16     return dt
17 def anews(url):
18     newsDetail={}
19     res=requests.get(url)
20     res.encoding='utf-8'
21     soup=BeautifulSoup(res.text,'html.parser')
22     newsDetail['nenewsTitle']=soup.select('.show-title')[0].text
23     showinfo=soup.select('.show-info')[0].text
24     newsDetail['newsDT']=newsdt(showinfo)
25     newsDetail['newsClick']=click(newsUrl)
26     return newsDetail
27 newsUrl='http://news.gzcc.cn/html/2005/xiaoyuanxinwen_0710/4.html'
28 anews(newsUrl)
29 res = requests.get('http://news.gzcc.cn/html/xiaoyuanxinwen/')
30 res.encoding='utf-8'
31 soup = BeautifulSoup(res.text,'html.parser')
32 for news in soup.select('li'):
33     if len(news.select('.news-list-title'))>0:
34         newsUrl=news.select('a')[0]['href']
35         print(anews(newsUrl))
View Code

相关文章:

  • 2021-07-14
  • 2021-04-21
猜你喜欢
  • 2021-12-15
  • 2022-02-20
  • 2021-09-17
  • 2021-11-17
  • 2021-05-25
相关资源
相似解决方案