热门推荐
web编程
2024-10-31 16:44
1.1 以新闻中心—新浪网为例,介绍网站爬虫具体实现

在这里插入图片描述

web编程

1.2 查看新浪网的源代码https://news.sina.com.cn/

在新浪官网可以看到,链接都是存在<a href=>下的,发现子网页结构最后都是以类似 “/2021-04-26/doc-ikmyaawc1810143.shtml” 结尾。所以我们读取的时候,需要判断网页url以类似 /2021-04-26/doc-ikmyaawc1810143.shtml 为结尾。

在这里插入图片描述

1.3 点进子网页,查看子网页源代码

发现编码格式是utf-8, 找出需要爬取的内容包括标题,关键词,摘要,作者,发布时间和内容等,可以帮助确定爬取网站的正则表达式的书写。

在这里插入图片描述

1.4 爬虫实现
1.4.1 使用的工具包
1.4.2 爬虫最关键的部分还是正则表达式的书写

需要爬取的信息包括网页的url、新闻的关键词、新闻的标题、新闻发布的日期、新闻的作者、新闻的内容以及新闻的来源。查看网页源代码可以发现

网页的url都是存在<a href=>下

新闻的关键词,在meta标签下,name=“keywords”

新闻的标题,在meta标签下,property=“og:title”

新闻发布日期,在meta标签下,property=“article:published_time”:

新闻的作者,在meta标签下,property=“article:author”

新闻的来源,在meta标签下,property=“og:url”

1.4.3 完整爬虫代码
1.4.4 踩过的坑

1、正则表达式书写

刚开始由于对正则表达式的理解不够透彻,不太清楚具体如何判断网页url是否是以类似 /2021-04-26/doc-ikmyaawc1810143.shtml 为结尾,后来上网查阅资料,才知道用d{m}表示有n个数字,w{n}表示有n个字符,“/”这类特殊字符需要在前面加上转义字符。

2、爬取url错误

一开始爬取的url是:https://news.sina.com.cn/https://news.sina.com.cn/c/2021-04-27/doc-ikmxzfmk9303163.shtml,相比正确的url前面会多出https://news.sina.com.cn/这一段,经过思考发现问题所在,myURL将种子页面与当前页面又拼接在一起,所以才会多出前面那一段。
在这里插入图片描述
只需将红框部分改为myURL = href即可。

1.5 其他网站爬取

以相同思想爬取其他网站

1.5.1 腾讯体育

子网页url:https://sports.qq.com/omn/20210428/20210428A0CQSA00.html

都是以/20210428/20210428A0CQSA00.html结尾

在这里插入图片描述

1.5.2 网易新闻

子网页url:https://www.163.com/news/article/G8MPODL30001899O.html

都是以G8MPODL30001899O.html结尾

在这里插入图片描述

2.1 在数据库中创建表
2.2 将爬取的相关信息存储在数据库中
2.3 在数据库查看相关插入结果

在这里插入图片描述

3.1 在数据库中查询是否在title中存在对应的查询词,按时间顺序返回结果

实现效果:对输入标题进行查询,后端返回在数据库中对应数据,并以表格形式展示在前端,提供翻页功能

对应url:http://127.0.0.1:3000/search_title.html

在这里插入图片描述

后端对应实现函数
在这里插入图片描述

前端对应实现

3.2 支持布尔查询
3.2.1 AND: http://127.0.0.1:3000/search_title_and.html

在这里插入图片描述

3.2.2 OR: http://127.0.0.1:3000/search_title_or.html

在这里插入图片描述

3.3 翻页功能实现

form-submit类下要素为查询数据的按钮(id=“submitButton”

table-pagination类下的几个要素分别为向前翻页按钮、页码按钮、向后翻页按钮。

计算总页数,生成对应页码按钮,依次渲染每一页的数据内容,判断当前选择的页码对应的记录数是否超出范围,具体确定该如何渲染页面。

4.1 以表格形式展示关键词的时间热度

http://127.0.0.1:3000/search_keywords.html

实现效果
在这里插入图片描述

后端实现

前端实现:与之前title搜索完全类似

4.2 以图表形式展示关键词的热度分析及其他信息
4.2.1 不同author及对应的爬取信息条数

http://127.0.0.1:3000/graph.html

在这里插入图片描述

4.2.2 关键词最近一段时间搜索热度
    以上就是本篇文章【web编程】的全部内容了,欢迎阅览 ! 文章地址:http://lianchengexpo.xrbh.cn/quote/8374.html 
     行业      资讯      企业新闻      行情      企业黄页      同类资讯      网站地图      返回首页 迅博思语资讯移动站 http://lianchengexpo.xrbh.cn/mobile/ , 查看更多