导入模块:导入了用于发送 HTTP 请求的requests库、操作 MySQL 数据库的pymysql库、解析配置文件的configparser库以及用于解析 HTML 文档的lxml库中的etree模块。
循环发起请求并处理数据(核心逻辑部分):
首先通过循环构造不同页面的 URL(利用start参数实现分页,每页展示 25 条数据),然后使用requests库发送 GET 请求获取页面内容。
将获取到的 HTML 内容利用lxml的etree.HTML方法转化为树形结构,方便后续使用 XPath 语法进行数据提取。
先通过//div[@class="info"]初步筛选出包含电影详细信息的节点列表,再在每个节点内进一步使用 XPath 提取具体的电影标题、评分、评论数量、热门评论、电影详情链接等信息。
数据库操作部分:
使用configparser读取配置文件database_config.ini,从中获取数据库连接所需的主机地址、用户名、密码以及数据库名称等信息。
通过pymysql建立与 MySQL 数据库的连接,创建游标,执行插入数据的 SQL 语句(将提取到的电影相关信息插入到名为DoBanTop250的表中),成功插入后提交事务,最后关闭游标和连接。若操作过程中出现数据库相关错误,则打印错误信息。