首页 > 解决方案 > 如何将两个url的标题存储在excel文件中

问题描述

import bs4

from bs4 import BeautifulSoup
from pandas.core.base import DataError
from pandas.core.frame import DataFrame
import requests
import pandas as pd
from fake_useragent import UserAgent


urls = ['https://www.digikala.com/search/category-mobile',  'https://www.digikala.com/search/category-tablet-ebook-reader']
user_agent = UserAgent()
for url in urls:
        data = requests.get(url, headers={"user-agent": user_agent.chrome})
        soup = bs4.BeautifulSoup(data.text, "html.parser")
        title = soup.find_all("title")
        bar_list = []
        for b in title:
            result = b.text.strip()
            bar_list.append(result)
        print(bar_list)    
        ex = pd.DataFrame({"title": bar_list,})
        print(ex)
        ex.to_excel('sasa.xlsx', index=False)

我想同时获取两个网址,但我的代码只给了我图片中显示的一个

感谢任何其他方法我是这些库的新手

标签: python-3.xpandaspython-requests

解决方案


for url in urls确实在两个 url 上进行迭代,但是该ex.to_excel('sasa.xlsx', index=False)行将'sasa.xlsx'在第二个循环上覆盖。

我会推荐:

  • 在第二个循环中更改文件名,或
  • 将结果写入同一 excel 文件的不同工作表,如这里

推荐阅读