提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
提示:这里可以添加本文要记录的大概内容:
本文介绍了如何使用Python爬虫从电影天堂网站获取电影相关数据,并将数据保存到MySQL数据库中。我们将获取电影的标题、封面、简介、类别和磁力链接。
一、准备工作
导入相关Python库:
import requests
import re
from lxml import etree
import pymysql
二、爬取数据
相关代码如下:
class filmSpider:
def __init__(self):
self.headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36"
}
self.get_href()
def get_href(self):
base_url = 'https://www.dytt8.net/html/gndy/dyzz/list_23_1.html'
response = requests.get(url=base_url, headers=self.headers)
response.encoding = 'gb2312'
tree = etree.HTML(response.text)
href_list = tree.xpath('//div//ul//tr[2]/td//a/@href')
for href in href_list:
self.get_data(href)
def get_data(self, href):
href = 'https://www.dytt8.net' + href
response = requests.get(url=href, headers=self.headers)
response.encoding = 'gb2312'
tree = etree.HTML(response.text)
text = re.findall(r'/>\u3000\u3000(.*?)<br /><br /><br /><a target="_blank"', response.text)[0].replace(
"\u3000", "")
self.movie = {
'title': tree.xpath('//div[@class="title_all"]/h1/font/text()')[0],
'cover_url': tree.xpath('//*[@id="Zoom"]//img/@src')[0],
'classify': tree.xpath('//*[@id="Zoom"]//text()')[5].replace(' ', '')[6:],
'content': re.findall(r'◎简介(.*)', text)[0].replace('<br /><br />', '').replace("“", "\"").replace("”", "\""),
'magnet_url': tree.xpath('//*[@id="Zoom"]//a/@href')[0]
}
print(self.movie)
self.save()
def save(self):
classify = self.movie['classify']
content = self.movie['content']
title = self.movie['title']
cover_url = self.movie['cover_url']
magnet_url = self.movie['magnet_url']
# 连接数据库
connection = pymysql.connect(
host='127.0.0.1',
user='root',
passwd='xxxxxxx',
db='movie',
charset='utf8mb4',
)
cursor = connection.cursor()
sql = 'insert into dytt(classify,title,content,cover_url,magnet_url) values(%s,%s,%s,%s,%s)'
cursor.execute(sql, (classify, title, content, cover_url, magnet_url))
connection.commit()
cursor.close()
connection.close()
if __name__ == '__main__':
filmSpider()
三、结果展示
四、总结
通过以上步骤,我们已成功爬取了电影天堂网站的电影相关数据,并将其保存到MySQL数据库中。我们可以根据需要修改爬取的字段和数据库连接信息,以适应不同的情况。
注意:在爬取网站数据时,请确保你遵守网站的使用协议和法律法规。