程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

pandas(0)

flask(0)

标签  

pandas(0)

flask(0)

日期归档  

2023-04(1)

2023-05(5)

如何使用python实现简单爬取网页数据并导入MySQL中的数据库

发布于2023-05-20 16:03     阅读(1059)     评论(0)     点赞(14)     收藏(2)


前言:要使用 Python 爬取网页数据并将数据导入 MySQL 数据库,您需要使用 Requests 库进行网页抓取,使用 BeautifulSoup 库对抓取到的 HTML 进行解析,并使用 PyMySQL 库与 MySQL 进行交互。

以下是一个简单的示例:
1.  安装所需库:

```

pip install requests beautifulsoup4 pymysql


```
2.  导入所需库:

```

  1. import requests
  2. from bs4 import BeautifulSoup
  3. import pymysql


```
3.  建立数据库连接:

```

  1. db = pymysql.connect(
  2.     host='localhost',
  3.     user='root',
  4.     password='password',
  5.     db='mydatabase'
  6. )


```
这里我们假设您已经在本地搭建了 MySQL 数据库,并创建了一个名为 `mydatabase` 的数据库。您需要根据实际情况修改主机、用户名、密码和数据库名。

4.  使用 Requests 库抓取网页:

```

  1. url = 'http://www.example.com'
  2. response = requests.get(url)
  3. html = response.text


```
5.  使用 BeautifulSoup 库解析 HTML:

```

  1. soup = BeautifulSoup(html, 'html.parser')
  2. data = soup.find_all('a')


```
6.  使用 PyMySQL 库将数据导入数据库:

```

  1. cursor = db.cursor()
  2. for item in data:
  3.     title = item.string
  4.     url = item.get('href')
  5.     sql = f"INSERT INTO mytable (title, url) VALUES ('{title}', '{url}')"
  6.     cursor.execute(sql)
  7. db.commit()


```
这里我们使用了 PyMySQL 库的 `cursor` 方法创建游标,然后遍历解析后的数据,并使用 SQL 语句将数据插入到数据库表中。

完整的示例代码如下:

```

  1. import requests
  2. from bs4 import BeautifulSoup
  3. import pymysql
  4. # 建立数据库连接
  5. db = pymysql.connect(
  6.     host='localhost',
  7.     user='root',
  8.     password='password',
  9.     db='mydatabase'
  10. )
  11. # 抓取网页
  12. url = 'http://www.example.com'
  13. response = requests.get(url)
  14. html = response.text
  15. # 解析 HTML
  16. soup = BeautifulSoup(html, 'html.parser')
  17. data = soup.find_all('a')
  18. # 将数据导入数据库
  19. cursor = db.cursor()
  20. for item in data:
  21.     title = item.string
  22.     url = item.get('href')
  23.     sql = f"INSERT INTO mytable (title, url) VALUES ('{title}', '{url}')"
  24.     cursor.execute(sql)
  25. db.commit()
  26. # 关闭数据库连接
  27. db.close()

```
注意,这里示例代码仅为演示使用,并未对 SQL 注入攻击进行防范,请勿直接在生产环境中使用。同时,您也需要根据实际情况修改表名、字段名和 SQL 语句等内容。

这只是单纯的思路,仅供参考。
 



所属网站分类: 技术文章 > 博客

作者:爱丽丝

链接:https://www.pythonheidong.com/blog/article/1979384/e0552f08c8390e94d6c2/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

14 0
收藏该文
已收藏

评论内容:(最多支持255个字符)