- 获取单条新闻的#标题#链接#时间#来源#内容 #点击次数,并包装成一个函数。
- 获取一个新闻列表页的所有新闻的上述详情,并包装成一个函数。
- 获取所有新闻列表页的网址,调用上述函数。
- 完成所有校园新闻的爬取工作。
- 完成自己所选其他主题相应数据的爬取工作。
import requests
import re
from bs4 import BeautifulSoup
url = "http://news.gzcc.cn/html/xiaoyuanxinwen/index.html"
res0 = requests.get(url)
res0.encoding="utf-8"
soup = BeautifulSoup(res0.text,"html.parser")
for news in soup.select("li"):
if len(news.select(".news-list-title"))>0:
net=news.select("a")[0]["href"]
title=news.select(".news-list-title")[0].text
time=news.select(".news-list-info")[0].contents[0].text
main=news.select(".news-list-description")[0].text
come=news.select(".news-list-info")[0].contents[1].text
print("网址:{}".format(net))
print("标题:{}".format(title))
print("时间:{}".format(time))
print("主体:{}".format(main))
print("来源:{}".format(come))
ids = re.search("_(.*).html",net).group(1).split('/')[1]
count = requests.get("http://oa.gzcc.cn/api.php?op=count&id={}&modelid=80".format(ids))
print("访问次数:{}".format(int(count.text.split(".")[-1].lstrip("html('").rstrip("');"))))
print("\n")
mainer = requests.get(net)
mainer.encoding="utf-8"
mainers = BeautifulSoup(mainer.text,"html.parser")
print(mainers.select(".show-content")[0].text)
def one_new():
for news in soup.select("li"):
if len(news.select(".news-list-title"))>0:
net=news.select("a")[0]["href"]
title=news.select(".news-list-title")[0].text
time=news.select(".news-list-info")[0].contents[0].text
main=news.select(".news-list-description")[0].text
come=news.select(".news-list-info")[0].contents[1].text
print("网址:{}".format(net))
print("标题:{}".format(title))
print("时间:{}".format(time))
print("主体:{}".format(main))
print("来源:{}".format(come))
ids = re.search("_(.*).html",net).group(1).split('/')[1]
count = requests.get("http://oa.gzcc.cn/api.php?op=count&id={}&modelid=80".format(ids))
print("访问次数:{}".format(int(count.text.split(".")[-1].lstrip("html('").rstrip("');"))))
print("\n")
mainer = requests.get(net)
mainer.encoding="utf-8"
mainers = BeautifulSoup(mainer.text,"html.parser")
print(mainers.select(".show-content")[0].text)
line = int(soup.select(".a1")[0].text.rstrip("条"))
page = line//10
for i in range(1,page+1):
url = "http://news.gzcc.cn/html/xiaoyuanxinwen/"+str(i)+".html"
res0 = requests.get(url)
res0.encoding="utf-8"
soup = BeautifulSoup(res0.text,"html.parser")
one_new()