Python爬取招聘信息并存入Sqlite3数据库
使用Python爬取招聘信息并存入Sqlite3数据库
本代码示例演示了如何使用Python爬取网页上的招聘信息,并将数据存储到Sqlite3数据库,最后生成一个HTML页面展示所有招聘信息。
代码如下:
import requests
from bs4 import BeautifulSoup
import sqlite3
# 请求页面
url = 'https://www.cnboling.cn/3g/list.php?fid=55'
res = requests.get(url)
res.encoding = 'utf-8'
html = res.text
# 解析页面
soup = BeautifulSoup(html, 'html.parser')
tuiguang = soup.find('div', {'class': 'tuiguang'})
lis = tuiguang.find_all('li')
# 抓取链接和标题
data = []
for li in lis:
a = li.find('a')
title = a.get_text()
link = 'https://www.cnboling.cn/3g/' + a['href']
data.append((title, link))
# 存储到Sqlite3数据库
conn = sqlite3.connect('data.db')
c = conn.cursor()
c.execute('''CREATE TABLE IF NOT EXISTS jobs
(id INTEGER PRIMARY KEY AUTOINCREMENT, title TEXT, link TEXT)''')
c.executemany('INSERT INTO jobs (title, link) VALUES (?, ?)', data)
conn.commit()
conn.close()
# 生成HTML
html = '<html><head><meta charset="utf-8"><title>招聘信息</title></head><body><h1>招聘信息</h1><ul>'
for row in data:
html += '<li><a href="{0}">{1}</a></li>'.format(row[1], row[0])
html += '</ul></body></html>'
with open('jobs.html', 'w', encoding='utf-8') as f:
f.write(html)
代码功能解释:
- 请求页面: 使用
requests库获取目标网页的HTML内容。 - 解析页面: 使用
BeautifulSoup库解析HTML内容,找到包含招聘信息的<div class='tuiguang'>标签,并提取其中的<li>标签。 - 抓取链接和标题: 遍历每个
<li>标签,提取<a>标签的href属性值作为链接,以及<a>标签的文本内容作为标题。 - 存储到Sqlite3数据库: 使用
sqlite3库连接数据库,创建名为jobs的表格,并将抓取到的链接和标题数据存储到数据库中。 - 生成HTML: 使用Python代码生成一个HTML文件,将数据库中的招聘信息以列表形式展示出来。
运行代码后,将在当前目录下生成两个文件:
data.db:Sqlite3数据库文件,存储抓取到的招聘信息。jobs.html:HTML文件,展示所有抓取到的招聘信息。
注意:
- 该代码仅供学习参考,实际使用时需要根据目标网站的结构进行调整。
- 该代码示例仅展示了基础的爬虫功能,没有进行任何错误处理或异常处理。
- 爬取网页数据时需注意网站的robots协议,避免对网站造成负面影响。
- 本代码示例仅供学习参考,请勿用于商业用途。
原文地址: https://www.cveoy.top/t/topic/mW53 著作权归作者所有。请勿转载和采集!