gpt4 book ai didi

python - 除了使用 BeautifulSoup 和 Scrapy 之外,有没有其他方法可以抓取不可抓取的网站,因为它们不起作用?

转载 作者:太空宇宙 更新时间:2023-11-04 04:13:19 26 4
gpt4 key购买 nike

我正在尝试从 Tangerine website 中抓取 nbn 计划作为抓取练习。我正在使用 BeautifulSoup 并且我能够抓取数据并在终端中查看抓取的数据但是一旦我将数据保存到 csv 文件中,它就不起作用并且我得到了一些奇怪的输入。

我用过 BeautifulSoup 但我也知道如何使用 scrapy 并且以前用过它。我只想知道在我尝试之前是否可以使用 scrapy 抓取数据并将其保存到 csv 文件中,如果不能,我还能使用什么?
还有一些我尝试使用 scrapy 抓取的网站,但它没有用。我知道我的代码没有任何问题,因为我尝试抓取其他网站并且成功了。

import requests
from bs4 import BeautifulSoup
import pandas


url = requests.get('https://www.tangerinetelecom.com.au/nbn/nbn-broadband')
soup = BeautifulSoup(url.content, 'html.parser')

plans = soup.find_all('div', class_="large-3 columns text-center")

data = []

for plan in plans:
d = {}
info = plan.find_all('p')
title = info[0].text
speed = info[1].text[0:-2]
d['Speed'] = title + '\n' + speed
d['Data'] = info[2].text
d['Trial'] = info[3].text
d['Contract'] = info[4].text
d['Setup Fee'] = info[5].text
d['Promo Price'] = info[6].text
d['Price'] = info[7].text[0:-1]
d['Price Details'] = info[8].text.replace('(', '').replace(')', '')

data.append(d)

print(data)
df = pandas.DataFrame(data)
df.to_csv("tangerine.csv")

预期结果是 csv 文件中的数据:

[ {'Speed': 'Basic Speed \n10Mbps Typical Evening Speed ', 'Data': 'UNLIMITED DATA', 'Trial': 'RISK FREE TRIAL', 'Contract': 'NO CONTRACT', 'Setup Fee': '$0 SETUP FEE', 'Promo Price': 'SPECIAL PROMO PRICE', 'Price': '$49.90/mth', 'Price Details': '$49.90 for 6 months, then $59.90 ongoing'}, 
{'Speed': 'Speed Boost \n21Mbps Typical Evening Speed ', 'Data': 'UNLIMITED DATA', 'Trial': 'RISK FREE TRIAL', 'Contract': 'NO CONTRACT', 'Setup Fee': '$0 SETUP FEE', 'Promo Price': 'SPECIAL PROMO PRICE', 'Price': '$58.90/mth', 'Price Details': '$58.90 for 6 months, then $68.90 ongoing'},
{'Speed': 'XL Speed Boost \n42Mbps Typical Evening Speed ', 'Data': 'UNLIMITED DATA', 'Trial': 'RISK FREE TRIAL', 'Contract': 'NO CONTRACT', 'Setup Fee': '$0 SETUP FEE', 'Promo Price': 'SPECIAL PROMO PRICE', 'Price': '$64.90/mth', 'Price Details': '64.90 for 6 months, then $74.90 ongoing'},
{'Speed': "XXL Speed B'st \n83Mbps Typical Evening Speed ", 'Data': 'UNLIMITED DATA', 'Trial': 'RISK FREE TRIAL', 'Contract': 'NO CONTRACT', 'Setup Fee': '$0 SETUP FEE', 'Promo Price': 'SPECIAL PROMO PRICE', 'Price': '$69.90/mth', 'Price Details': '$69.90 for 6 months, then $79.90 ongoing'} ]

但是我在 csv 文件中输入了一些奇怪的内容: Image of the weird typing, I've been getting

最佳答案

您的问题不在于代码,而在于您的 libra 文件的编码。

使用这些步骤将编码从 UTF-16 更改为 UTF-8:

File > New > Spreadsheet,然后是 Insert > Sheet from file。选择您的文件并确定。你应该得到文本导入窗口。在顶部,检查“字符集”设置——我猜它设置不正确。如果还没有,请将其更改为 UTF-8

关于python - 除了使用 BeautifulSoup 和 Scrapy 之外,有没有其他方法可以抓取不可抓取的网站,因为它们不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55926718/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com