python - 将结果导出到 excel 文件 python BeautifulSoup
问题描述
在@αԋɱҽԃ αмєяιcαη 的大力支持下,我有以下代码
import requests
from bs4 import BeautifulSoup
import pandas as pd
masterlist = []
def main(url):
with requests.Session() as req:
for item in range(1, 2):
r = req.get(url.format(item))
print(r.url)
soup = BeautifulSoup(r.content, 'html.parser')
s in soup.findAll('p', class_='star-rating')
goal = [(x.h3.a['title'], x.select_one("p.price_color").text, x.select_one("p.star-rating")['class'][-1], 'http://books.toscrape.com' + x.a.img['src'].replace('..',''))
for x in soup.select("li.col-xs-6")]
#print(goal)
masterlist.append(goal)
main("http://books.toscrape.com/catalogue/page-{}.html")
pd = df.DataFrame(masterlist)
df
结果是完美的。现在我需要学习如何将结果导出到 excel 文件?请原谅我,因为我正在一步一步地学习。我想我必须使用 pandas 包.. 在那种情况下使用 pandas 会很容易吗?
解决方案
from bs4 import BeautifulSoup
import requests
def main(url):
with requests.Session() as req:
for item in range(1, 2):
r = req.get(url.format(item))
print(r.url)
soup = BeautifulSoup(r.content, 'html.parser')
goal = [(x.h3.a.text, x.select_one("p.price_color").text, x.select_one("p.star-rating").attrs.items())
for x in soup.select("li.col-xs-6")]
try:
print(list(goal[0][2])[0][1][1])
except TypeError:
pass
main("http://books.toscrape.com/catalogue/page-{}.html")
推荐阅读
- rust - 一个变量如果不显示就会消失 Rust
- salesforce - 获取重复的代理名称
- javascript - 是
- python - 带有 Request 模块的 Python POST 请求
- javascript - 如何让机器人忽略其他机器人造成的其他操作?
- kubernetes - Kubernetes 子域供应
- android - Don't work Get x and y pixel of touch in version 4.2.0 to high of Carto mobile SDK
- android - 迭代 JSON 数组并使用 Name 值来识别一个 TextView Android
- java - java Haversine公式(数学)NullPointerException报错问题
- javascript - 如何读出 Javascript 中元素的位置?