如何从输出中删除第二个列表?
这是代码:
from bs4 import BeautifulSoup
import requests
import re
url_sca = "https://www.steakcookoffs.com/cookoffs?EventViewMode=1&EventListViewMode=1"
page_sca = requests.get(url_sca).text
doc_sca = BeautifulSoup(page_sca, features="lxml")
text_date = doc_sca.find(class_="eventInfoBoxValue").strong
dates = str(text_date).split(">")[-2].split("<")[0]
for page_sca in dates:
url_sca = "https://www.steakcookoffs.com/cookoffs?EventViewMode=1&EventListViewMode=1"
page_sca = requests.get(url_sca).text
doc_sca = BeautifulSoup(page_sca, features="lxml")
results_dates = doc_sca.find_all(class_=re.compile("eventInfoBoxValue"))
for result in results_dates:
print(str(result).split(">")[2].split("<"))
输出:
2022年6月17日,星期五 宾夕法尼亚州三角洲 2022年6月17日,星期五 塞西,阿肯色州 2022年6月17日,星期五 德克萨斯州沃思堡 2022年6月18日,星期六 德克萨斯州沃思堡 2022年6月18日,星期六 德克萨斯州沃思堡 2022年6月18日,星期六 德克萨斯州凯蒂 2022年6月18日,星期六 塞西,阿肯色州 2022年6月18日,星期六 塞西,阿肯色州 2022年6月24日,星期五 伊利诺伊州贝尔维德尔 2022年6月24日,星期五 弗洛克斯顿,佐治亚州 2022年6月24日,星期五 田纳西州教堂山 2022年6月24日,星期五 田纳西州教堂山 2022年6月25日,星期六 弗洛克斯顿,佐治亚州 2022年6月25日,星期六 田纳西州约翰逊市 2022年6月25日,星期六 密歇根州列克星敦 37 2022年6月25日,星期六 布法罗,密苏里州 2022年6月25日,星期六 弗洛克斯顿,佐治亚州 2022年6月25日,星期六 德克萨斯州自由 2022年6月25日,星期六 缅因州Skowhegan 2022年6月25日,星期六 密西西比州牛津 2022年6月25日,星期六 密西西比州牛津 2022年6月25日,星期六 俄亥俄州韦恩斯维尔 2022年6月26日,星期日 密西西比州牛津 2022年7月1日,星期五 阿肯色州的El Dorado 2022年7月1日,星期五 德克萨斯州Shiner,
一旦我将[0]
添加到我的最后一行代码末尾,它将从两个列表中打印出第一个项目。我只希望date
可以打印而不是位置。
Here's the code:
from bs4 import BeautifulSoup
import requests
import re
url_sca = "https://www.steakcookoffs.com/cookoffs?EventViewMode=1&EventListViewMode=1"
page_sca = requests.get(url_sca).text
doc_sca = BeautifulSoup(page_sca, features="lxml")
text_date = doc_sca.find(class_="eventInfoBoxValue").strong
dates = str(text_date).split(">")[-2].split("<")[0]
for page_sca in dates:
url_sca = "https://www.steakcookoffs.com/cookoffs?EventViewMode=1&EventListViewMode=1"
page_sca = requests.get(url_sca).text
doc_sca = BeautifulSoup(page_sca, features="lxml")
results_dates = doc_sca.find_all(class_=re.compile("eventInfoBoxValue"))
for result in results_dates:
print(str(result).split(">")[2].split("<"))
Output :
Friday, June 17, 2022
Delta, Pennsylvania
Friday, June 17, 2022
Searcy, Arkansas
Friday, June 17, 2022
Fort Worth, Texas
Saturday, June 18, 2022
Fort Worth, Texas
Saturday, June 18, 2022
Fort Worth, Texas
Saturday, June 18, 2022
Katy, Texas
Saturday, June 18, 2022
Searcy, Arkansas
Saturday, June 18, 2022
Searcy, Arkansas
Friday, June 24, 2022
Belvidere, Illinois
Friday, June 24, 2022
Folkston, Georgia
Friday, June 24, 2022
Church Hill, Tennessee
Friday, June 24, 2022
Church Hill, Tennessee
Saturday, June 25, 2022
Folkston, Georgia
Saturday, June 25, 2022
Johnson City, Tennessee
Saturday, June 25, 2022
Lexington, Michigan
37
Saturday, June 25, 2022
Buffalo, Missouri
Saturday, June 25, 2022
Folkston, Georgia
Saturday, June 25, 2022
Liberty, Texas
Saturday, June 25, 2022
Skowhegan, Maine
Saturday, June 25, 2022
Oxford, Mississippi
Saturday, June 25, 2022
Oxford, Mississippi
Saturday, June 25, 2022
Waynesville, Ohio
Sunday, June 26, 2022
Oxford, Mississippi
Friday, July 01, 2022
El Dorado, Arkansas
Friday, July 01, 2022
Shiner, Texas
Once I add [0]
to the end of my last line of code it prints the first item from both lists. I just want the date
to print and not the location.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
请使用查找Methode和GetText,您的最后几行应该是这样,
Please use find methode along with getText, your last couple of lines should be like this,
您可以使用
beautifulsoup.find
而不是beautifulsoup.find_all
仅获取第一个匹配:You can use
BeautifulSoup.find
instead ofBeautifulSoup.find_all
to just get the first match: