当前位置:首页>python>JAVA程序员转战AI(1)-Python实现网络爬虫(4)

JAVA程序员转战AI(1)-Python实现网络爬虫(4)

  • 2026-09-10 23:52:35
JAVA程序员转战AI(1)-Python实现网络爬虫(4)
网络爬虫分三步流程:发送请求、解析网页、存储数据。
发送请求:使用requests库模拟浏览器向网站服务器发送HTTP或HTTPS请求,获取网页的HTML源代码,通常需要设置User-Agent等请求头信息进行伪装,为了不被网站轻易识为爬虫。
解析网页:使用BeautifulSoup或lxml 库来解析上一步获取的HTML代码,通过定位HTML的标签(如:div、a、span)及属性(如:class、href),可以精准提取我们需要的数据。
存储数据:将提取到的数据进行清洗和整理,然后保存到本地,常见的存储方式为txt、csv、xlsx。
首先,安装对应的库,在PyCharm工具里的终端执行如下命令

pip install beautifulsoup4

pip install lxml  #性能要求高时使用到,这里暂未使用

一开始我这里执行报错,搜索资料说是requests的问题,重新安装了requests库,

pip uninstall requests  #先卸载

pip install requests  #安装

模拟从豆瓣电影网站抓取前250的电影名称和链接

1.先定义请求的方法

2.定义一个解析html的方法,html.parser为内置解析器,这里也可以替换为lxml

这里需要去网站通过F12键查看html代码,查看里面的一些标签,如下图,整体内容在ol标签,class为grid_view下

展开li标签,能看到a标签和span标签

3.定义一个存储数据的方法

4.定义main方法

在 Python 中,if __name__ == '__main__': 是一种‌惯用写法‌,用于判断当前模块是‌被直接运行,还是‌被其他模块导入‌。

核心含义

‌__name__ 是 Python 的一个内置变量,表示当前模块的名称。

当模块‌被直接执行时,__name__的值为 '__main__'。

当模块‌被导入(如 import module)时,__name__ 的值为模块文件名(不含 .py后缀)。

因此,if __name__ == '__main__':下的代码‌仅在直接运行该文件时执行,而在被导入时不执行。

5.展示执行过程及抓取的数据
输出的文件内容,链接地址可以直接在浏览器打开,访问到具体的电影

#Python#网络爬虫#requests#BeautifulSoup#

最新文章

随机文章