Python 将蜘蛛数据放在 excel 文件中

Python place the spider datas in an excel file

我每天浪费 1 小时来对来自网站的信息进行分类,所以我正在尝试构建一个 python 蜘蛛,它将从网站获取数据并将它们自动分类为 excel文件。

我已经构建了获取数据的部件,但我不知道如何使用我正在使用的代码将它们附加到 excel 文件中。

代码如下:

import requests
from bs4 import BeautifulSoup
import xlsxwriter

def spider_list(max_pages):
    page = 2
    while page < max_pages:
        url = 'http://yellow.local.ch/fr/q/Morges/Bar.html?page=' + str(page)
        source_code = requests.get(url)
        plain_text = source_code.text
        soup = BeautifulSoup(plain_text, 'html.parser')
        for link in soup.findAll('a', {'class':'details-entry-title-link'}):
            href = link.get('href')
            spider_data(href)
        page += 1

def spider_data(item_url):
    source_code = requests.get(item_url)
    plain_text = source_code.text
    soup = BeautifulSoup(plain_text, 'html.parser')
    for items in soup.findAll('h1'):
        print("\n" + items.string)
    for num in soup.findAll('a', {'class':'number'}):
        print(num.string)
    for mail in soup.findAll('a', {'class':'redirect'}):
        print(mail.string)


spider_list(3)

每组信息要水平显示,举例:

我应该怎么做? ---------- 编辑 ----------

好的,现在我创建了代码的最后一部分,但它不起作用,为什么?

def spider_data(item_url):
    source_code = requests.get(item_url)
    plain_text = source_code.text
    soup = BeautifulSoup(plain_text, 'html.parser')
datas = []
for items in soup.findAll('h1'):
    datas.append(items.string)
for num in soup.findAll('a', {'class':'number'}):
    datas.append(num.string)
for mail in soup.findAll('a', {'class':'redirect'}):
    datas.append(mail.string)
csv_create(datas)

def csv_create(data):
    myfile = open('mydatas.csv', 'wb')
    wr = csv.writer(myfile, quoting=csv.QUOTE_ALL)
    wr.writerow(data)

Excel 可以读取 .csv 文件。如果您有看起来像这样的文本行:"Title1, number1, website1 \n" 您将得到一个看起来像这样的 excel 文件。您可以使用 python 的内置 csv methods or build a pandas DataFrame and use to_csv(这样您就不必担心编写逗号和换行符)。希望对您有所帮助

使用csv当然是一种简单的方法,但也很麻烦。即在使用引号或以您没有参加的方式格式化数据时。喜欢 0:7 默认是白天。

我向您推荐这个可爱的库,我认为它更强大,因此它可以设置数据类型,您可以按名称访问单元格,而无需对逗号进行编号。

Python library for MS-excel creation