python爬虫 爬取数据导入excel
时间: 2023-11-08 09:59:37 浏览: 69
爬取数据并导入Excel需要使用Python爬虫和xlwt库来实现。下面是实现的步骤:
1. 导入所需的库和模块:
```python
import xlwt
import requests
import re
```
2. 创建Excel文件和工作表:
```python
book = xlwt.Workbook(encoding="utf-8", style_compression=0)
sheet = book.add_sheet('豆瓣电影Top250', cell_overwrite_ok=True)
```
3. 发起请求获取网页数据:
```python
def askURL(url):
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.116 Safari/537.36"
}
response = requests.get(url, headers=headers)
html = response.text
return html
```
4. 使用正则表达式提取数据并写入Excel:
```python
# 电影链接
findLink = re.compile(r'<a href="(.*?)">')
# 封面图片
findImgSrc = re.compile(r'<img.*src="(.*?)".*>', re.S)
# 电影名称
findTitle = re.compile(r'<span class="title">(.*?)</span>')
# 评分
findRating = re.compile(r'<span class="rating_num" property="v:average">(.*?)</span>')
# 评价人数
findJudge = re.compile(r'<span>(.*?)人评价</span>')
# 概况
findInq = re.compile(r'<span class="inq">(.*?)</span>')
# 电影详细内容
findBd = re.compile(r'<p class="">(.*?)</p>', re.S)
# 获取数据的函数
def getData(baseurl):
html = askURL(baseurl)
# 提取数据并写入Excel
for i in range(len(result)):
data = result[i]
sheet.write(i + 1, 0, data[0])
sheet.write(i + 1, 1, data[1])
sheet.write(i + 1, 2, data[2])
sheet.write(i + 1, 3, data[3])
sheet.write(i + 1, 4, data[4])
sheet.write(i + 1, 5, data[5])
sheet.write(i + 1, 6, data[6])
book.save('豆瓣电影Top250.xls')
```
5. 调用函数开始爬取数据并导入Excel:
```python
if __name__ == "__main__":
baseurl = "https://movie.douban.com/top250?start="
# 爬取多页数据
for i in range(0, 10):
url = baseurl + str(i * 25)
getData(url)
```
以上是一个简单的示例,你可以根据自己的需求进行修改和完善。