php抓取网页数据插入数据库(一个爬虫爬取豆瓣首页数据存入数据库的基础案例功能功能)
优采云 发布时间: 2021-11-21 23:10php抓取网页数据插入数据库(一个爬虫爬取豆瓣首页数据存入数据库的基础案例功能功能)
最近做了一个基本的案例功能,爬取豆瓣首页的数据,存入数据库。现将完整的功能供大家参考。
首先,我们需要下载一个新的python包,pymysql。网上有很多安装教程。您可以使用 pip install pymysql 或安装包。
import requests
from bs4 import BeautifulSoup
import pymysql
print('连接到mysql服务器……')
db = pymysql.connect(host='localhost',
port=3306,
user='root',
passwd='123456',
db='csdn',
charset='utf8')
# host 主机名,port 端口,user 数据库用户名,password 数据库root用户的密码,db 数据库名
print("连接上了!")
# 创建游标
cursor = db.cursor()
cursor.execute("DROP TABLE IF EXISTS titles")
sql = """CREATE TABLE titles(id int, title varchar(100),href varchar(100))"""
cursor.execute(sql)
# 正确的url地址 分析网页
headers = {
'User-Agent':
'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) '
'Chrome/51.0.2704.63 Safari/537.36'
}
url = "https://www.douban.com/"
# 发送请求
res = requests.get(url, headers=headers)
res.encoding = "utf-8"
# 数据解析
soup = BeautifulSoup(res.text, 'html.parser')
i = 1
for news in soup.select('.anony-nav-links ul li'):
id = i
title = news.select('a')[0].text
href = news.select('a')[0]['href']
i += 1
insert = ("insert into titles values(%s,%s,%s)")
data = (id, title, href)
print(data)
cursor.execute(insert, data)
db.commit()
del i
print("爬取数据完成,存入数据库……")
cursor.close()
这样就可以将爬取到的数据存入mysql。
推荐安装:数据库-MySQL
MySQL8.0 安装教程链接: