欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

爬取中大官网(一)

发布时间:2025/4/16 67 豆豆
生活随笔 收集整理的这篇文章主要介绍了 爬取中大官网(一) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

打开中大官网网页,开始进行爬虫。
想要爬取新闻的链接。


但是用下面的代码的时候出现了问题了。

from urllib.request import urlopen from bs4 import BeautifulSoupif __name__ == '__main__':url = 'http://www.sysu.edu.cn/2012/cn/index.htm'htmlObj = urlopen(url)soup = BeautifulSoup(htmlObj.read(), 'lxml')newslist01 = soup.find('div', {'id': 'newslist01'})print(newslist01)lis = newslist01.find_all('li')for li in lis:print(li.get_text())

我去查,是不是动态网页,但是却发现,在链接之后,学校网页跟我本地的主机就再也没有了交互的过程。

  • 可以看出,这其实不是一个动态网页。
    那究竟是为什么呢?

有点奇怪,但是我发现了下面这个地方

  • 我发现这有意思了,虽然我对前端的知识了解有限。这个开头有点像那个html的开头的地方。

  • 我就接着去查开始的时候这个网站跟我发过了什么包?

发现下面这个包,觉得有意思。

我想,可能就是在访问学校官网的服务器的同时,会向学校的这个服务器去发送请求,让这个服务器给本地发当前最新的新闻信息。

想想也觉得这个结构还是很靠谱的。毕竟,这样,就单独把这个服务器交给管新闻的有关部分去访问就好了。这样,对于整体的分工会更加明确。然后对于这个新闻的更新也会比较及时..吧?

所以,在检查了那个包之后【检查包的方法,我在一个介绍怎么用Chrome的博文中介绍了。建议爬虫先学下怎么用这个, 点击可以访问】

然后改成下面的代码:

from urllib.request import urlopen from bs4 import BeautifulSoupif __name__ == '__main__':url = 'http://news2.sysu.edu.cn/news03/mainsysunews2.htm?new=22808'htmlObj = urlopen(url)soup = BeautifulSoup(htmlObj.read(), 'lxml')lis = soup.find_all('li')for li in lis:print(li.span.get_text())print(li.a['title'])print(li.a.text)

就可以了,输出的结果是:

03-16 【中国社会科学网】“时代楷模——中山大学援疆援藏事迹报告会”在广州举行【中国社会科学网】“时代楷模——中山大... 03-16 【中国科学报 科学网】中山大学举行援疆援藏事迹报告会【中国科学报 科学网】中山大学举行援疆... 03-14 【新快报】全国政协委员、中山大学党委书记陈春声建议: 尽快解决外籍人员 参加事业单位养老保险问题 【新快报】全国政协委员、中山大学党委书... 03-12 【羊城晚报】全国政协委员、中山大学党委书记陈春声:中大力争让80%本科毕业生继续深造【羊城晚报】全国政协委员、中山大学党委... 03-12 【羊城晚报】全国人大代表、中山大学校长罗俊:创新发展打造高教人才蓄水池引凤留凤【羊城晚报】全国人大代表、中山大学校长... 03-12 【南方都市报】中大到2021年稳居国内高校第一方阵,准备这样干【南方都市报】中大到2021年稳居国内...

总结

以上是生活随笔为你收集整理的爬取中大官网(一)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。