写一个爬取51job网站数据的代码并存入数据库的代码
时间: 2023-09-13 12:05:08 浏览: 107
好的,以下是一个基于Python的爬取51job网站数据并存入数据库的示例代码:
```python
import requests
from bs4 import BeautifulSoup
import pymysql
# 连接数据库
db = pymysql.connect(host='localhost', user='root', password='password', database='job', charset='utf8')
cursor = db.cursor()
# 爬取数据
url = 'https://search.51job.com/list/000000,000000,0000,00,9,99,Python%2B%E5%A4%A7%E6%95%B0%E6%8D%AE,2,1.html'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.content, 'html.parser')
# 解析数据并存入数据库
job_list = soup.find_all('div', class_='el')
for job in job_list:
name = job.find('a').get('title')
company = job.find('span', class_='t2').get_text()
salary = job.find('span', class_='t4').get_text()
location = job.find('span', class_='t3').get_text()
pub_date = job.find('span', class_='t5').get_text()
sql = "INSERT INTO job(name, company, salary, location, pub_date) VALUES ('%s', '%s', '%s', '%s', '%s')" % (
name, company, salary, location, pub_date)
try:
cursor.execute(sql)
db.commit()
except:
db.rollback()
# 关闭数据库连接
db.close()
```
在这个代码中,我们使用了requests库和BeautifulSoup库来爬取51job网站的数据,并使用pymysql库将数据存入MySQL数据库中。在爬取数据时,我们首先连接到数据库,然后使用requests库发送请求获取网页内容,接着使用BeautifulSoup库解析HTML页面,从中提取出需要的数据,并将其存入数据库中。
需要注意的是,这个代码中并没有对爬取的数据进行详细的清洗和处理,如果你需要更加准确、完整的数据,请自行根据实际情况进行修改。同时,在进行数据库操作时,要记得对SQL语句进行注入攻击防范。
阅读全文