当前位置: 首页 > news >正文

重庆做网站公司高级seo课程

重庆做网站公司,高级seo课程,交互式网站开发,注册公司需要什么材料和手续2022一、什么是网络爬虫 在当今信息爆炸的时代#xff0c;网络上蕴藏着大量宝贵的信息#xff0c;如何高效地从中获取所需信息成为了一个重要课题。网络爬虫#xff08;Web crawler#xff09;作为一种自动化工具#xff0c;可以帮助我们实现这一目标#xff0c;用于数据分析…      一、什么是网络爬虫 在当今信息爆炸的时代网络上蕴藏着大量宝贵的信息如何高效地从中获取所需信息成为了一个重要课题。网络爬虫Web crawler作为一种自动化工具可以帮助我们实现这一目标用于数据分析、搜索引擎优化、信息监测等目的。由于Python语言有易学、丰富的库和爬虫框架、多线程支持、跨平台支持和强大的数据处理能力等特点在编写爬虫方面具有得天独厚的优势这些优势使得Python成为爬虫开发的首选语言。本文介绍了一般网络爬虫的实现过程并介绍如何Python语言编写一个简单的网络爬虫。 二、网络爬虫的实现步骤 网络爬虫的实现可概括为以下几个步骤 发送HTTP请求 网络爬虫首先向目标网站发送HTTP请求请求特定的页面内容。这通常是使用Python中的requests库或类似工具来完成的。 获取页面内容 网络爬虫接收到服务器的响应后获取页面的HTML内容。这个内容可能包含文本、图片、视频、链接等信息。 解析页面内容 爬虫将获取到的HTML内容进行解析通常使用HTML解析器如BeautifulSoup来提取出需要的信息比如链接、文本、图片等。 链接提取 在解析页面内容的过程中爬虫会提取出页面中的链接。这些链接可以是其他页面的URL也可以是资源文件如图片、视频的URL。 递归爬取 爬虫将提取到的链接作为新的目标继续发送HTTP请求并获取页面内容。这样就形成了一个递归的过程爬虫不断地发现新的页面并从中提取出更多的链接。 数据处理与存储 爬虫在提取到数据后可能需要进行进一步的处理和清洗然后将数据存储到本地文件或者数据库中供后续使用。 异常处理与反爬虫策略 在爬取过程中可能会遇到各种异常情况如网络连接错误、页面解析错误等。爬虫需要考虑这些异常情况并进行适当的处理同时也需要应对目标网站可能采取的反爬虫策略如设置User-Agent、使用代理IP、降低爬取速度等。 总的来说网络爬虫的原理就是模拟人类用户的行为通过发送HTTP请求获取页面内容然后解析页面内容提取出需要的信息。通过不断地递归爬取和处理爬虫可以从互联网上收集到大量的数据。 三、如何用python编写一个简单的爬虫 在Python中我们可以使用第三方库如requests和BeautifulSoup来编写一个最简单的网络爬虫。以下是一个简单的示例用于爬取西安电子科技大学研究生院的通知公告栏目第一页中的标题及相应链接 第一步安装所需库 首先我们需要安装requests和BeautifulSoup库。如果这两个库没有安装可以进入命令行 使用以下命令来安装 pip install requests pip beautifulsoup4 第二步分析要爬取的页面 1、查看robots.txt 爬取页面前首先要确定该网站是否允许通过爬虫获取数据。网站是否允许爬虫爬取数据以及允许爬取哪些资源一般都是通过robots.txt来确定。 比如知乎只允许一些知名搜索引擎去爬取特定目录其他的爬虫则不允许爬取其网站数据。 西安电子科技大学研究生院的网址是https://gr.xidian.edu.cn/加上robots.txt就是链接就是https://gr.xidian.edu.cn/robots.txt未设置robots.txt文件进行说明未做限制那就拿它来试一下吧。经测试西电网站确实比较友好即使不修改将爬虫伪装成浏览器获取信息也没有什么困难。 2、使用开发者工具对目标页面进行分析 打开网站通知公告栏目可以看到网址是https://gr.xidian.edu.cn/tzgg1.htm 在浏览器中按F12进入开发者工具。 在开发者工具中选择“网络”-“全部”然后再点击浏览器中左上角的刷新按钮。你会发现刷新这一页面后下载了好多东西既有htm文件又有css文件还有js文件以及jpg图像文件等。一般来说HTML文件或htm文件负责网页的架构CSS文件负责网页的样式和美化JavaScriptJS则是负责网页的行为。正是因为这些文件相互配合才使得页面能够正常显示。 从浏览器的网址来看通知公告的首页网址对应的文件应该是tzgg1.htm从文件大小来比较它的信息量也是最大的点击它后点击标头进行查看。 可以看到标头中包含许多重要信息是编写爬虫是必须要注意的部分。从标头中可以看到请示链接方法是用的GET方法状态码是200为正常结束GET方法相对于POST方法而言相对简单。发现这里使用了strict-origin-when-cross-origin的Referrer Policy原以为这个策略会给我们的爬虫增加一些麻烦结果并没有。 3、strict-origin-when-cross-origin 策略 strict-origin-when-cross-origin 是一种比较严格的 Referrer Policy 策略。它的行为如下 当请求从一个页面 A 跳转到同一源的页面 B 时Referrer 首部会包含完整的 URL 信息包括路径和查询参数。这是为了确保目标页面 B 能够获取足够的信息来处理请求。当请求从页面 A 跳转到不同源的页面 C 时Referrer 首部只包含请求源的 origin 信息而不包含路径或查询参数等详细信息。这是为了减少敏感信息的泄露。 可以看到通知公告首页面的Referer是主页面https://gr.xidian.edu.cn我们正是从主页面进行通知公告栏目的再点击下一页可以看到Referer变成https://gr.xidian.edu.cn/tzgg1.htm在站内不同页面之间的链接是完全遵守strict-origin-when-cross-origin 策略的 原以为strict-origin-when-cross-origin 策略的引用可能是为防爬策略不在Request Head中设置正确的Referer无法爬取正确的数据结果似乎没什么影响也许是因为动作太小吧。 编写网络爬虫相较于一般程序而言性价比是比较低的一是因为其一般没有什么通用性一个网站的代码一种风格规则也不一样二是对于防爬做的好的网站想将其分析透彻或是进行破解可能要花费大量的时间。 4、源代码分析查找链接对应的源代码 下面我们要做的是在页面源代码中找到有关通知标题对应的代码。 1源代码查找法 点击“响应”可以看到网站服务器返回的响应信息也就是文件tzgg1.htm的源代码看到原页面中第一条通知包含“少数民族高层次骨干人才点击代码然后按CtrlF输入“少数民族高层次骨干人才”回车立即找到了相关的网页代码。 学习网络爬虫是必须对HTML有一定了解的但不需要精通如果不太了解可通过我写的另一篇博客快速了解HTML有关知识HTML超详细教程_html教程-CSDN博客。 从代码中可以看到通知都集中在DIV classmain-right-list 中的 UL内每条通知的标题和链接都包含在一个li的a内 DIV classmain-right-listULli idlineu10_0a hrefinfo/1073/13315.htm target_blank西安电子科技大学关于2024年硕士研究生“少数民族高层次骨干人才”专项计划调剂的.../aspan nbsp;2024-04-03nbsp; /span/lihr idduannumu10_0 styledisplay:none;height:1px;border:none;border-top:1px dashed #CCCCCC;li idlineu10_1a hrefinfo/1073/13313.htm target_blank研究生院2024年清明节值班安排表/aspan nbsp;2024-04-03nbsp;/span/li/UL /DIV 2元素查找定位法 在开发工具中点击“元素”就可以将鼠标放在相应代码上直接查看代码在左边页面上对应哪些模块。可也明显看到通知的链接都在div classmain-right-list内这样查找更直观也更方便。 第二步编写爬虫代码 # -*- coding: utf-8 -*- import requests from bs4 import BeautifulSoupdef get_links(url):# 发送HTTP请求获取页面内容response requests.get(url)#使用BeautifulSoup解析HTML内容soup BeautifulSoup(response.content, html.parser,from_encodingutf-8)#定位到class名为main-right-list的divrightlistsoup.find(div, class_main-right-list)# 找到div中所有链接并提取标题和URLlinks rightlist.find_all(a)#链接只包含路径未包含域名将其补上return [(link.text, https://gr.xidian.edu.cn/link.get(href)) for link in links]# 要爬取的网页URL url https://gr.xidian.edu.cn/tzgg1.htm# 获取链接并打印标题和URL links get_links(url) for title, link in links:print(f{title}: {link}) 在这个示例中我们首先使用requests库发送HTTP请求获取网页内容然后使用BeautifulSoup库解析HTML内容。最后我们提取所有链接的标题和URL并将其打印出来。 在爬到的链接最后列出了下一頁的网址通过它就可以进行下一页的爬取一直循环到将全部内容爬完这里不再赘述。 四、爬虫使用注意事项 在编写爬虫时还有一些注意事项需要注意 尊重网站规则 爬虫应该遵守网站的robots.txt文件以确保不会对网站造成过度负荷或侵犯其隐私政策。处理异常情况 在爬取过程中可能会遇到各种异常情况如网络错误或页面解析错误。在编写爬虫时应该考虑这些情况并进行适当处理。本文的爬虫比较简单未进行异常处理。频率控制 为了避免对网站造成过度负荷爬虫应该控制访问频率并遵守网站的访问频率限制。 以上为个人爬虫学习的一点体会如不当或不正确之处欢迎指出以便及时更正。
http://www.hkea.cn/news/14550888/

相关文章:

  • 番禺做网站系统潞城市网站建设公司
  • 东莞桂城网站制作wordpress添加表单
  • 网站代理被抓泰安百度推广代理公司
  • 海事网站开发wordpress优秀中文主题
  • 乐昌市建设网站如何查找网站的死链接
  • 兰州网站推广优化wordpress 邮件验证码
  • 旅游网站建设的论文慧聪网郭凡生现状
  • jquery网站底部导航效果销售网站制作怎么做
  • 学计算机的做网站的叫什么工作wordpress关闭略缩图
  • 镇江建站网站建设难做吗
  • 元谋县住房和城乡建设局网站软件正版化情况及网站建设情况
  • 怎样做网站api接口成都快速建网站
  • 维护网站建设空间出租一小时赚8000元的游戏
  • 网站搜索框网络营销策略都有哪些
  • 做优惠卷网站倒闭了多少唯品会网站开发技术分析
  • 淘宝联盟个人网站怎么做施工企业资质等级划分
  • 玉山电商网站建设公司网站文章的排版
  • 免费行业报告网站wordpress怎么删除某页页眉
  • 北京网站建设企业c 网站开发 readonly属性
  • 天津专业网站制作流程优势热搜榜上能否吃自热火锅
  • 温州网站建设网站建设价格明细表
  • wordpress有名的网站达内学费价格表
  • 外贸网站建设策划手机app软件开发用什么语言
  • 关闭网站怎么不保存我做的更改涪陵建设工程信息网站
  • 网站开发手册下载wordpress yum
  • 郑州微信公众号网站建设展厅设计企业展厅设计公司
  • p2p种子网站建设天津商务网站建设
  • 济源建设网站seo外链怎么做
  • 手工制作网站网站流量 钱
  • seo网站推广优化做爰全过程免费的视频的网站