python - 我使用 python pandas 来提取一些数据(页面标题),但输出的顺序与我在代码中输入的 URL 的顺序不同
问题描述
所以我编写了代码并运行它并获得了 .xlsx 文件,但输出与我放入代码中的 Url 列表的顺序不同。
#importing the libraries
import re
import lxml
import chardet
from os import truncate
import bs4
from bs4 import BeautifulSoup
import multiprocessing
import requests
import pandas as pd
from fake_useragent import UserAgent
import numpy as np
urls = list(('https://isabad.com/advanced-professional-email-templates-opencart-extension' ,
'https://isabad.com/seo-basic-pack-opencart-extension',
'https://isabad.com/x-shipping-pro',
'https://isabad.com/bot-blocker-opencart-extension',
'https://isabad.com/opencart-mobile-application'
))
dit = {}
user_agent = UserAgent()
for url in urls:
data = requests.get(url, headers={"user-agent": user_agent.chrome})
soup = bs4.BeautifulSoup(data.content, "lxml")
dit[url] = soup.find_all("title")
ex = pd.DataFrame({"title": dit ,})
print(ex)
ex.to_excel('sasa.xlsx', index=False, engine='xlsxwriter')
我该如何解决这个问题?
解决方案
您正在使用set
数据结构来存储 URL 列表,而set
python 中的数据结构是无序的数据结构。要以相同的顺序输出,您应该将 URL 存储在list
数据结构中,如下所示:
urls = [
'https://www.sample.com/search/category-mobile/' ,
'https://www.sample.com/search/category-tablet-ebook-reader',
'https://www.sample.com/search/category-laptop/',
'https://www.sample.com/search/category-computer-parts/',
'https://www.sample.com/search/category-office-machines/'
]
干杯!
推荐阅读
- python - 如何修复 Pandas 中的“级别必须与名称相同(无)”错误适用
- css - Font Awesome 5 - 反转图标位置
- android-recyclerview - CardView 在预览中显示灰屏?
- mysql - 仅当该组连接列中存在特定值/值时,如何在 MySql 中进行组连接
- go - 是否可以获得不成功的 tcp net.Dial 的最后一跳的地址?
- python - 如何使用 Poetry 发布到 Azure Devops PyPI 提要?
- json - Json 对象的全局变量更改属性
- javascript - 如何使用 CreateJS / Tween 来影响鼠标移动时的视差 X 和 Y?
- django - 搜索时使用 django 过滤器时出现多项选择时出错
- python - 在 python 请求中处理井号 (#)