首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何仅打印网站中的特定href

如何仅打印网站中的特定href
EN

Stack Overflow用户
提问于 2020-06-24 15:11:11
回答 1查看 56关注 0票数 0

我正在尝试制作自动加入抽奖的网络抓取机器人。我有一个问题,只列出一个href,因为在URL中有2个。

其中一个页面指向我可以加入抽奖活动的页面,而另一个页面则指向创建抽奖活动的人的个人资料页面。

代码:

代码语言:javascript
复制
URL = 'https://scrape.tf/raffles/ending'
pagee = requests.get(URL)
Soup = BeautifulSoup(pagee.content, 'html.parser')
for link in Soup.select('a'):
    print(link.get('href'))

使用上面的代码,它打印个人资料页面和抽奖页面的href。我想做的是让代码只将href打印到抽奖页面。

配置文件页面和抽奖页面的href是不同的:

代码语言:javascript
复制
profile page = /profile/(raffle creator's username)
raffle page = /raffles/######

我尝试使用filter()函数,但它显示:

代码语言:javascript
复制
TypeError: filtfunc() takes 0 positional arguments but 1 was given

当我在filter()函数中使用其他代码时,它显示:

代码语言:javascript
复制
<filter object at ...........>

有没有办法让Python只打印抽奖的href?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-24 15:38:27

您可以使用re模块和soup.find_all()

代码语言:javascript
复制
import re
import requests
from bs4 import BeautifulSoup


url = 'https://scrap.tf/raffles/ending'
soup = BeautifulSoup(requests.get(url).content, 'html.parser')

for raffle_link in soup.find_all(href=re.compile(r'/raffles/[A-Z\d]{6}')):
    print('{:<40} {}'.format('https://scrap.tf' + raffle_link['href'], raffle_link.text))

打印:

代码语言:javascript
复制
https://scrap.tf/raffles/V3CVJ3          I'm happy :D
https://scrap.tf/raffles/YE3QYW          Floofmancer's Hat Warehouse #17
https://scrap.tf/raffles/K71B2C          Daily smoothie #1
https://scrap.tf/raffles/FC331T          pan give pan 5#
https://scrap.tf/raffles/N7CQ19          FREE REF
https://scrap.tf/raffles/YWBTXH          it is
https://scrap.tf/raffles/1BGR3T          Day 2 of giving away items, while awaiting for the win in raffles
https://scrap.tf/raffles/X0VPFR          fire's Anxiety logs #151 - 152
https://scrap.tf/raffles/MGY62Y          Soldier's Daily Refined Giveaway
https://scrap.tf/raffles/VPAV8E          Soldier's Daily Reclaimed Giveaway
https://scrap.tf/raffles/8SJPL1          Soldier's Daily Scrap Giveaway
https://scrap.tf/raffles/P1NLD5          Random weapon №1
https://scrap.tf/raffles/Y7MVZU          Daily Refined #5
https://scrap.tf/raffles/89GXCH          What the hell do i do with this?
https://scrap.tf/raffles/I2DCRP          Greetings traveller, I have a quest for you.
https://scrap.tf/raffles/WAV5KI          Привет, товарищ.
https://scrap.tf/raffles/A8K38H          Playstation 3 messaging system scaled back - Article
https://scrap.tf/raffles/BZ9U1C          What is this very weird situation happening?
https://scrap.tf/raffles/3S0LVG          Pocket-Medes!
https://scrap.tf/raffles/PLDOFW           Rarity's Pride - Day 24 
https://scrap.tf/raffles/29S2I3          HAm 2
https://scrap.tf/raffles/A1P4C6          DR. MARIO?
https://scrap.tf/raffles/QWS50H          HAm
https://scrap.tf/raffles/EHT19E          Yo, take this. Do whatever you want with it.
https://scrap.tf/raffles/3FS1YC          This Gem, a result of my scout actions
https://scrap.tf/raffles/8JNRQG          Sandvich
https://scrap.tf/raffles/B45TAF          Gaming journalism was a mistake.
https://scrap.tf/raffles/0Q384E          Recommend me songs plsssss
https://scrap.tf/raffles/P6699P          Earthquakes are scary.
https://scrap.tf/raffles/AJZWMH          Day 1 of nothing to 10 ref
https://scrap.tf/raffles/BZB53B          Cheeto
https://scrap.tf/raffles/H5MUQB          Some Song Suggestions (MM's Hip Hop Related Raffles)
https://scrap.tf/raffles/DQTV49          Living Undead's life #12
https://scrap.tf/raffles/AXIUI6          I have not slept for the past 20 hours.
https://scrap.tf/raffles/FRSJT9          Is Min Min a Win Win? (Super Smash Bros Ultimate DLC 6)
https://scrap.tf/raffles/H517ZT          esta.
https://scrap.tf/raffles/5JVF21          Fish Fish Fish Fish Fish Fish
https://scrap.tf/raffles/TWKP0B          I want to make raffles
https://scrap.tf/raffles/DVJD2E          FUR sleepsies
https://scrap.tf/raffles/UFIRHI          This got me thinking...
https://scrap.tf/raffles/QT5ZGT          Me, actually making a daily raffle #141
https://scrap.tf/raffles/TBULX0          I won 3 raffles today, so I had to return the favor 
https://scrap.tf/raffles/CB5JD4           Neko Candy #536
https://scrap.tf/raffles/1P898Z          How many hobbies do you have bros? 
https://scrap.tf/raffles/UAMK5E          Bruh
https://scrap.tf/raffles/60PF0H          Using wish was a big mistake
https://scrap.tf/raffles/452V45          
https://scrap.tf/raffles/C8U1VL          Went to the hospital today and...
https://scrap.tf/raffles/IWY8OU          sandvich
https://scrap.tf/raffles/02D70K          When evening falls
https://scrap.tf/raffles/5KQ50T          Root n tooty point n shooty
https://scrap.tf/raffles/FY14DJ          By The Fireside #408
https://scrap.tf/raffles/NLRE8V          Spike's Scrap's #58
https://scrap.tf/raffles/PPD2YO          Spike's Musical Mayhem #25
https://scrap.tf/raffles/ZI4HHA          ◢◤ AVICII ◢◤
https://scrap.tf/raffles/GXOJ6U          Daily Nerdcore Mixtape #702) Macho Grubba (8-Bit Remix): Paper Mario TTYD - Tater-Tot Tunes
https://scrap.tf/raffles/ZBVWIO          Give the Darkest Dungeon Heroes a Pokemon Team: Jester's Finale
https://scrap.tf/raffles/1KBGV2          Hey
https://scrap.tf/raffles/QVIB72          Second raffle
https://scrap.tf/raffles/ANB2DK          I did
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62549603

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档