首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在python中抓取多个站点

在python中抓取多个站点
EN

Stack Overflow用户
提问于 2017-12-02 01:40:07
回答 4查看 1.7K关注 0票数 0

我注册这个网站只是为了问这个问题,因为我已经搜索了几个小时,但没有找到任何东西。我试图,在10秒内,从5个网站刮2-3个字符,组合它们,并将它们粘贴到一个框中。我大概知道我需要什么,但不知道该怎么做。我相信我想把从某个网站抓取的内容赋给变量,然后让它打印出这些变量的组合,以便我复制和粘贴。我无论如何都不是Python方面的专家,所以如果可能的话,一个复制/粘贴脚本就更好了。这些网站是:https://assess.joincyberdiscovery.com/challenge-files/clock-pt1?verify=BY%2F8lhw%2BtbBgvOMDiHeB5A%3D%3Dhttps://assess.joincyberdiscovery.com/challenge-files/clock-pt2?verify=BY%2F8lhw%2BtbBgvOMDiHeB5A%3D%3Dhttps://assess.joincyberdiscovery.com/challenge-files/clock-pt3?verify=BY%2F8lhw%2BtbBgvOMDiHeB5A%3D%3Dhttps://assess.joincyberdiscovery.com/challenge-files/clock-pt4?verify=BY%2F8lhw%2BtbBgvOMDiHeB5A%3D%3Dhttps://assess.joincyberdiscovery.com/challenge-files/clock-pt5?verify=BY%2F8lhw%2BtbBgvOMDiHeB5A%3D%3D,现在保持这个状态,只是因为我不能删除它。感谢那些帮助过我的人,我希望这对其他人有帮助。抱歉,我太傻了

EN

回答 4

Stack Overflow用户

发布于 2017-12-03 01:37:38

问题是,我已经完成了代码并进行了尝试。这是可行的,但这不是问题的答案。从链接中获取字符并将它们放在一起是不起作用的。我已经尝试了很多方法,但我自己还在努力。我的建议是,你自己解决吧。它更有价值,可能会对未来的竞争有所帮助。另外,如果你想从代码中删除所有的‘a’,那也行不通。我试过了。

为了回答你的堆栈溢出问题,下面是代码(你需要先安装'requests‘python模块):

代码语言:javascript
复制
import requests
page1 = "https://assess.joincyberdiscovery.com/challenge-files/clock-pt1?verify=4VjvSgWQQ8yhhiYD9cePtg%3D%3D"
page1_content = requests.get(page1)
page1text = page1_content.text

page2 = "https://assess.joincyberdiscovery.com/challenge-files/clock-pt2?verify=4VjvSgWQQ8yhhiYD9cePtg%3D%3D"
page2_content = requests.get(page2)
page2text = page2_content.text

page3 = "https://assess.joincyberdiscovery.com/challenge-files/clock-pt3?verify=4VjvSgWQQ8yhhiYD9cePtg%3D%3D"
page3_content = requests.get(page3)
page3text = page3_content.text

page4 = "https://assess.joincyberdiscovery.com/challenge-files/clock-pt4?verify=4VjvSgWQQ8yhhiYD9cePtg%3D%3D"
page4_content = requests.get(page4)
page4text = page4_content.text

page5 = "https://assess.joincyberdiscovery.com/challenge-files/clock-pt5?verify=4VjvSgWQQ8yhhiYD9cePtg%3D%3D"
page5_content = requests.get(page5)
page5text = page5_content.text

print(page1text + page2text + page3text + page4text + page5text)

但是这种方法不能回答挑战14。

票数 1
EN

Stack Overflow用户

发布于 2017-12-04 21:43:56

我做了一些非常类似的事情,但最后的结果也很糟糕。然而,我确实让它运行了一段时间,并注意到时钟遵循一种模式。前段时间,时钟读作"aaaaaaaaaaaaaaa“,然后是"aBaa1aafaa2aa3a”和"aDaafaaHaajaala“。我将等待一个完整的列表,并尝试在最终的URL中建议下一个时钟序列。如果这行得通,我会给你回电的,只是需要考虑一下。

另外,为了帮助导入模块,我建议:https://programminghistorian.org/lessons/installing-python-modules-pip & https://docs.python.org/3/installing/index.html

代码语言:javascript
复制
import requests
abc = ""
while 1 == 1 :
    page1 = requests.get('your first link')
    page2 = requests.get('your second link')
    page3 = requests.get('your thrid link')
    page4 = requests.get('your fourth link')
    page5 = requests.get('your fith link')
    text = page1.text+page2.text+page3.text+page4.text+page5.text

    # abc1 = "the verify link except clock pts is replaced with "+"text>" so the end looks like this :string=<"+text+">"
    abc1 = text
    if abc1 != abc:
       print (abc1)
       abc = abc1

编辑时钟以15分钟的周期运行,总共有90个代码。我还不确定这会有什么帮助,但我只是发布了一些想法。我不得不做一些修改,让代码干净地输出,这里是我的改进版本(这是非常混乱的,对不起):

代码语言:javascript
复制
import requests
abc = ""
page1 = requests.get('your first link')
page2 = requests.get('your second link')
page3 = requests.get('your thrid link')
page4 = requests.get('your fourth link')
page5 = requests.get('your fith link')
while 1 == 1 :
    page12 = requests.get('your first link')
    page22 = requests.get('your second link')
    page32 = requests.get('your thrid link')
    page42 = requests.get('your fourth link')
    page52 = requests.get('your fith link')
    if page1.text != page12.text and page2.text != page22.text and page3.text != page32.text and page4.text != page42.text and page5.text != page52.text:


        text = page12.text+page22.text+page32.text+page42.text+page52.text
        abc1 = text
        # abc1 = * your url for verification   with * string=<"+text+">"
        if abc1 != abc:
            print (abc1)
            abc = abc1
            page1 = page12
            page2 = page22
            page3 = page32
            page4 = page42
            page5 = page52

最后的编辑,我没有走那么长的路,弄清楚它是如何制作的,并做了太多的工作。当提交最终的url时,不要将你的解决方案作为部分的替代,也不要包含在<>中,所以你的解决方案应该像https://assess.joincyberdiscovery.com/challenge-files/get-flag?verify=*this is an identifiere*&string=*The string you get*

票数 1
EN

Stack Overflow用户

发布于 2017-12-05 00:35:13

我知道这个问题的答案,但我不会给出完成它的代码,而是告诉你一种可能找到它的方法,因为我自己完成了这个问题。

当您问这个问题时,您完全忘记了还有第六个链接:https://assess.joincyberdiscovery.com/challenge-files/get-flag?verify=j7fPvtmWLDY5qeYFuJtmKw%3D%3D&string=%3Cclock%20pts%3E

请注意,在该超链接的末尾显示了'clock pts',而所有其他链接的名称都类似于clock pt1或clock pt4。如果时钟指针一次引用所有不同的链接,比如你必须从之前给出的所有链接中创建一个字符串,用你从单独的链接中生成的字符串替换超级链接的字符串部分中的“时钟指针”,这将给你提供完成这一关卡的代码?

下面是我用来得到答案的代码。它需要requests模块,以防您想要使用它。(另外,我不是100%确定它会一直工作,因为挑战是基于计时器的,程序可能不会在时钟改变之前及时获得所有字符串,所以请确保在计时器重置后运行程序)

代码语言:javascript
复制
    import requests
    page1 = "https://assess.joincyberdiscovery.com/challenge-files/clock-pt1?verify=4VjvSgWQQ8yhhiYD9cePtg%3D%3D"
    page1_content = requests.get(page1)
    page1text = page1_content.text

    page2 = "https://assess.joincyberdiscovery.com/challenge-files/clock-pt2?verify=4VjvSgWQQ8yhhiYD9cePtg%3D%3D"
    page2_content = requests.get(page2)
    page2text = page2_content.text

    page3 = "https://assess.joincyberdiscovery.com/challenge-files/clock-pt3?verify=4VjvSgWQQ8yhhiYD9cePtg%3D%3D"
    page3_content = requests.get(page3)
    page3text = page3_content.text

    page4 = "https://assess.joincyberdiscovery.com/challenge-files/clock-pt4?verify=4VjvSgWQQ8yhhiYD9cePtg%3D%3D"
    page4_content = requests.get(page4)
    page4text = page4_content.text

    page5 = "https://assess.joincyberdiscovery.com/challenge-files/clock-pt5?verify=4VjvSgWQQ8yhhiYD9cePtg%3D%3D"
    page5_content = requests.get(page5)
    page5text = page5_content.text

    code=(page1text + page2text + page3text + page4text + page5text)

    page6= "https://assess.joincyberdiscovery.com/challenge-files/get-flag?verify=j7fPvtmWLDY5qeYFuJtmKw%3D%3D&string="+code
    page6_content = requests.get(page6)
    print(page6_content.text)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47598706

复制
相关文章

相似问题

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