python爬取并生成csv文件
时间: 2023-08-09 17:09:57 浏览: 112
好的,下面是 Python 爬取并生成 CSV 文件的示例代码:
```python
import csv
import requests
from bs4 import BeautifulSoup
# 发送 HTTP 请求
url = 'http://example.com'
response = requests.get(url)
# 解析 HTML 文档
soup = BeautifulSoup(response.text, 'html.parser')
data = []
# 获取需要爬取的数据
for item in soup.select('div.item'):
title = item.select('h2')[0].text.strip()
price = item.select('span.price')[0].text.strip()
data.append([title, price])
# 将数据写入 CSV 文件
with open('data.csv', 'w', newline='') as csvfile:
writer = csv.writer(csvfile)
writer.writerow(['Title', 'Price'])
for row in data:
writer.writerow(row)
```
以上代码会从指定的网址爬取数据,并将数据写入 `data.csv` 文件中。你可以根据自己的需求修改代码中的 `url` 和 `select` 条件。
相关问题
python爬取数据并生成csv文件的代码
好的,以下是一个Python爬取数据并生成CSV文件的示例代码:
```python
import requests
import csv
from bs4 import BeautifulSoup
# 发送HTTP请求,获取HTML内容
url = 'https://www.example.com'
response = requests.get(url)
html = response.text
# 使用BeautifulSoup解析HTML内容,获取目标数据
soup = BeautifulSoup(html, 'html.parser')
data = []
for item in soup.find_all('div', class_='item'):
title = item.h2.text.strip()
price = item.find('span', class_='price').text.strip()
data.append([title, price])
# 将目标数据保存到CSV文件中
with open('data.csv', 'w', newline='', encoding='utf-8') as f:
writer = csv.writer(f)
writer.writerow(['标题', '价格'])
writer.writerows(data)
```
以上代码实现了以下功能:
1. 获取指定网站的HTML内容。
2. 使用BeautifulSoup解析HTML内容,获取指定class属性的元素。
3. 将目标数据保存到CSV文件中,文件名为data.csv。
你只需要将代码中的"url"改为你要爬取的网站地址,"class_"改为你要获取数据的标签属性,"writerow"中的列表改为你要保存的数据即可。
希望这个示例可以帮助你完成你的任务,如果还有其他问题,请继续提问。
爬取网页生成csv文件的代码
以下是使用 Python 爬取网页并将数据保存到 CSV 文件中的示例代码:
```python
import csv
import requests
from bs4 import BeautifulSoup
url = "https://www.example.com" # 网页的 URL
response = requests.get(url) # 发送 GET 请求
soup = BeautifulSoup(response.text, "html.parser") # 使用 BeautifulSoup 解析 HTML
data = [] # 准备保存数据的列表
# 获取需要的数据,这里以获取网页中所有标题为例
titles = soup.find_all("h2")
for title in titles:
data.append(title.text) # 将标题文本添加到列表中
# 将数据保存到 CSV 文件中
with open("data.csv", "w", encoding="utf-8", newline="") as csvfile:
writer = csv.writer(csvfile)
writer.writerow(["标题"]) # 写入表头
for item in data:
writer.writerow([item]) # 写入数据
```
这个示例代码使用 `requests` 库发送 HTTP GET 请求获取网页内容,然后使用 `BeautifulSoup` 库解析 HTML 获取需要的数据。最后,使用 `csv` 库将数据保存到 CSV 文件中。你可以根据自己的需求修改代码,获取和保存不同的数据。
阅读全文