Pandas DataFrame打印时URL被截断,无法访问对应网页
解决Pandas打印DataFrame时URL被截断的问题
你用这段代码爬取IBCA活动页面链接后,打印DataFrame时URL会被截断成https://url/abc.....的形式,没法直接复制使用。下面是两种解决方法:
方法一:修改Pandas显示参数,让URL完整显示
Pandas默认会截断过长的列内容,只需要设置display.max_colwidth参数,让它显示完整的字符串即可。修改后的代码如下:
import pandas as pd import bs4 from urllib.parse import urljoin import requests # 设置Pandas显示完整的列内容,不截断 pd.set_option('display.max_colwidth', None) ibca_url = "https://ibcabbq.org/events/" ibca_resp = requests.get(ibca_url) page_soup = bs4.BeautifulSoup(ibca_resp.text, features="lxml") # 提取IBCA活动详情链接 ibca_event_details_links = [] for li in page_soup.find_all('li'): if "homepage_contest_list" in li["class"]: ibca_event_details_links.append(urljoin(ibca_url, li.a['href'])) df_ibca_event_details_links = pd.DataFrame(ibca_event_details_links) print(df_ibca_event_details_links)
方法二:将DataFrame导出为文件,完整保存URL
如果只是需要获取完整的URL,也可以把DataFrame导出成CSV或者文本文件,这样打开文件就能看到完整链接:
# 导出为CSV文件 df_ibca_event_details_links.to_csv('ibca_event_links.csv', index=False, header=False) # 或者导出为文本文件 df_ibca_event_details_links.to_csv('ibca_event_links.txt', index=False, header=False, sep='\t')
运行后,打开生成的文件就能直接复制完整的活动链接了。
内容的提问来源于stack exchange,提问作者user19341179
相关产品推荐
相关产品推荐

