Python 爬虫实现:抓取电影网站信息并入库


一.环境搭建

1.下载安装包

访问 Python官网下载地址:https://www.python.org/downloads//

下载适合自己系统的安装包:

在这里插入图片描述
我用的是 Windows 环境,所以直接下的 exe 包进行安装。

下载后,双击下载包,进入 Python 安装向导,安装非常简单,你只需要使用默认的设置一直点击"下一步"直到安装完成即可。

2.修改环境变量

在这里插入图片描述

  • 右键点击"计算机",点击"属性";
  • 然后点击"高级系统设置"-“环境变量”;
  • 选择"系统变量"窗口下面的 “Path” ,添加 python 安装路径;
  • 设置成功以后,在cmd命令行,输入命令"python",有显示则说明配置成功。
3.安装依赖模块

我们的爬取程序需要安装的依赖模块包括 requests,lxml,pymysql ,步骤如下:

  • 进入python安装目录下的Scripts目录,点击地址栏输入“cmd” 打开命令行工具:

在这里插入图片描述

  • 在这个路径下安装对应的 requests,lxml,pymysql 依赖:

在这里插入图片描述

  • 需要输入的命令:
// 安装requests依赖
pip install requests

// 安装lxml依赖
pip install lxml

// 安装pymysql依赖
pip install pymysql

二.代码开发

开发 collectMovies.py

#!/user/bin env python
# 获取电影天堂详细信息
import requests
import time
from lxml import etree
import pymysql
requests.adapters.DEFAULT_RETRIES = 5
# 伪装浏览器
HEADERS ={
   
	'User-Agent':'Mozilla/5.(Windows NT 10.0; WOW64) AppleWebKit/537.3(KHTML, like Gecko) Chrome/63.0.3239.13Safari/537.36',
    'Host':'www.dy2018.com'
}
# 定义全局变量
BASE_DOMAIN = 'https://www.dy2018.com/'
# 获取首页网页信息并解析
def getUrlText(url,coding):
	s = requests.session()
	#print("获取首页网页信息并解析:", url)
	respons = s.get(url,headers=HEADERS)
	print("请求URL:", url)
	if(coding=='c'):
		urlText = respons.content.decode('gbk')
		html = etree.HTML(urlText)  # 使用lxml解析网页
	else:
		urlText = respons.text
		html = etree.HTML(urlText)  # 使用lxml解析网页
	s.keep_alive = False
	return html

# 获取电影详情页的href,text解析
def getHref(url):
	html = getUrlText(url,'t')
	aHref = html.xpath('//table[@class="tbspan"]//a/@href')
	print("获取电影详情页的href,text解析```")
	htmlAll = map(lambda url:BASE_DOMAIN+url,aHref) # 给每个href补充BASE_DOMAIN
	return htmlAll

# 使用content解析电影详情页,并获取详细信息数据
def getPage(url):
	html = getUrlText(url,'c')
	moveInfo = {
   }  # 定义电影信息
	mName = html.xpath('//div[@class="title_all"]//h1/text()')[0]
	moveInfo['movie_name'] = mName
	mDiv = html.xpath('//div[@id="Zoom"]')[0]
	mImgSrc = mDiv.xpath('.//img/@src')
	moveInfo['image_path'] = mImgSrc[0]  # 获取海报src地址
	if len(mImgSrc) >= 2:
		moveInfo['screenshot'] 
  • 101
    点赞
  • 809
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

盛夏温暖流年

可以赏个鸡腿吃嘛~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值