资讯动态

头歌实践教学平台:数据科学与大数据技术导论(二十一1)

发布时间:2026/8/30 4:37:25 来源:尧图企业网站定制
二十一、数据采集实战第1关单网页爬取任务描述本关任务编写一个爬虫爬取 www.jd.com 网的 title。相关知识为了完成本关任务需要具备几个基本的技能。首先需要对 Python 语言具有一定的掌握。了解其中的 Urllib 库 Re 库 Random 库。其中Urllib 库主要实现对网页的爬取。Re 库实现数据的正则化表达。Random 库实现数据的随机生成。网络爬虫是一种按照一定规则自动抓取互联网信息的程序或者脚本。爬虫的行为过程可以划分为三个部分载入解析存储。下面是对数据采集实战之网页爬取的视频介绍课程视频《数据采集实战之网页爬取》网络爬虫在利用 Python 进行数据爬取的过程中我们首先需要了解爬虫的基本技能树包括静态网页采集。动态网页采集爬虫框架设计以及数据存储。在静态网页它取得过程中需要涉及正则化规则和一些 Python 库。比如 Request 和 beautifulSoup 。在进行动态网页爬取的过程中需要解决验证码自动识别的问题。在进行爬虫框架设计的过程中需要掌握 Pyspider 和 Scrapy 。在进行数据存储的过程中需要掌握 CSV,EXCEL TXT 等格式文件和 MongDB 等数据库。网络爬虫载入载入就是将目标网站数据下载到本地主要步骤如下网站数据主要依托于网页 html 展示爬虫程序向服务器发送网络请求从而获取相应的网页网站常用网络协议 httphttpsftp数据常用请求方式getpostget 参数常放置在 URL 中如 http://www.adc.com?p1q2r3 问号后为参数post 参数常放置在一个表单报文头 header 中。实际操作抓取一个静态网页步骤确定 URL确定请求的方式以及相关参数用浏览器或者抓包工具 URL 发送参数即可收到网页返回的结果。网络爬虫动态载入部分页面的数据是动态加载的比如 Ajax 异步请求网页中的部分数据需要浏览器渲染或者用户的某些点击、下拉的操作触发才能获得的即 Ajax 异步请求。面对动态加载的页面时我们可以借助抓包工具分析某次操作所触发的请求通过代码实现相应请求利用智能化的工具selenium webdriver。网络爬虫解析在载入的结果中抽取特定的数据载入的结果主要分成三类 html、json、xml 。html beautifulSoup、xpath 等json json 、 demjson 等Xml xml 、 libxml2 等。编程要求请仔细阅读右侧代码结合相关知识在 Begin-End 区域内进行代码补充编写一个爬虫爬取 www.jd.com 网的 title 具体要求如下获取 www.jd.com 的页面 html 代码并保存在 ./step1/京东.html使用正则提取 title将 title 的内容保存为 csv 文件位置为 ./step1/csv_file.csv。测试说明平台会对你编写的代码进行测试预期输出html获取成功title匹配成功开始你的任务吧祝你成功import urllib.requestimport csvimport re#打开京东读取并爬到内存中解码, 并赋值给data#将data保存到本地# ********** Begin ********** #url https://www.jd.comheaders {User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.0.0 Safari/537.36}req urllib.request.Request(url, headersheaders)response urllib.request.urlopen(req)data response.read().decode(utf-8)with open(./step1/京东.html, w, encodingutf-8) as f:f.write(data)print(html获取成功)# ********** End ********** ##使用正则提取title#保存数据到csv文件中# ********** Begin ********** #pattern rtitle(.*?)/titlematch re.search(pattern, data, re.S)title match.group(1)print(title匹配成功)with open(./step1/csv_file.csv, w, encodingutf-8, newline) as csv_file:writer csv.writer(csv_file)writer.writerow([title])# ********** End ********** #有任何问题都可以随时关注私信

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价