找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 5589|回复: 3

[已解决] 如何将爬虫结果批量写入csv文件?

1

主题

2

帖子

2

积分

贫民

积分
2
你是u盘二代目 发表于 2016-12-27 20:51:31 | 显示全部楼层 |阅读模式
现在的代码如下,再往下不知道怎么写了。
# -*- coding: utf-8 -*-
from bs4 import BeautifulSoup
import requests
import re
import csv

url = ['http://www.tripadvisor.cn/Restaurants-g654326-oa{}-Sakai_Osaka_Prefecture_Kinki.html'.format(str(i)) for i in range(30,930,30)]

def meishizhuaqu(lianjie):
    for singleurl in lianjie:
        wb_data1 = requests.get(singleurl)
        soup = BeautifulSoup(wb_data1.text,'lxml')
        lala = soup.select('div.shortSellDetails > h3 > a ')
        laji = []

        for ever in lala:
            jieguo = "http://www.tripadvisor.cn"+ever["href"]
            buhao = jieguo.split()
            laji = laji+buhao

        for qnmlgb in laji:
            wb_data = requests.get(qnmlgb)
            soup = BeautifulSoup(wb_data.text,'lxml')

            biaoti = soup.select('#HEADING')
            jutixinxi = soup.select('div > address')
            dianhua = soup.select('div.contact_info > div > div:nth-of-type(1) > div')
            leixing = soup.select('#HEADING_GROUP > div > div.heading_ratings > div:nth-of-type(2) > span > div > a')

            quanbuwenben = soup.get_text().replace('\n','')
            w1 = "CurrentCenter"
            w2 = "signature"
            d = re.compile(w1+'(.*?)'+w2,re.S)
            zuobiao = d.findall(quanbuwenben)

            for j,i,k,h,n in zip(biaoti,jutixinxi,dianhua,zuobiao,leixing):
                data = {
                    '标题':j.get_text().replace('\n',''),
                    '地址':i.get_text().replace('\n',''),
                    '电话':k.get_text().replace('\n','').replace('+','('),
                    '坐标':h.replace('.png|','').replace('&',''),
                    '分类':n.get_text().replace('\n',''),
                }
回复

使用道具 举报

50

主题

1057

帖子

1108

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1108

活跃会员热心会员最佳导师默默耕耘突出贡献优秀版主荣誉管理论坛元老

blueelwang 发表于 2016-12-29 19:31:27 | 显示全部楼层
直接写到csv文件即可, 和普通写文本文件一样, 只是每一列的数据需要用“,”隔开即可
回复 支持 反对

使用道具 举报

1

主题

2

帖子

2

积分

贫民

积分
2
你是u盘二代目  楼主| 发表于 2016-12-30 15:42:33 | 显示全部楼层
blueelwang 发表于 2016-12-29 19:31
直接写到csv文件即可, 和普通写文本文件一样, 只是每一列的数据需要用“,”隔开即可 ...

我写了之后,都写到同一行去了...
回复 支持 反对

使用道具 举报

50

主题

1057

帖子

1108

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1108

活跃会员热心会员最佳导师默默耕耘突出贡献优秀版主荣誉管理论坛元老

blueelwang 发表于 2017-1-2 12:45:34 | 显示全部楼层
你是u盘二代目 发表于 2016-12-30 15:42
我写了之后,都写到同一行去了...

换行还是需要的
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表