-1

次のコードを使用して、BeautifulSoup を使用して Web サイトを解析しています。ウェブサイトを解析してデータを印刷できます。現在の出力は @ http://pastie.org/6448357ですが、リンク内のデータの一部のみを印刷したいだけで、予想される出力は @ http:// です。 pastie.org/6448362これをどのように行うことができるかについて、誰でも意見を提供できますか?

from bs4 import BeautifulSoup as bs
import argparse
import urllib
import urllib2
import getpass
import re
import requests

def update (url):
    print url
    req = urllib2.Request(url=url)
    try:
        f = urllib2.urlopen(req)
        txt = f.read()
        soup = bs(txt)
        print soup
        f.close()


def main ():
    #For logging
    print "test"
    parser = argparse.ArgumentParser(description='This is the update.py script created by test')
    parser.add_argument('-u','--url',action='store',dest='url',default=None,help='<Required> url link',required=True)
    results = parser.parse_args()# collect cmd line args
    url = results.url
    #print url
    update(url)
if __name__ == '__main__':
    main()
4

1 に答える 1

0

[コメントできません 理由がわかりません.. :P]

私はbeautifulsoupを使用したことはありませんが、通常、Webページ全体から一部のセクションを取得する必要がある場合、重要なデータを囲む一意の識別子を探すだけです..

たとえば、あなたの場合{||}一意に発生します。

したがって、ページ全体を読んでデータを見つけてください。

site=urllib2.urlopen(url1) 
a=site.read()
c1=a.find('{|')
c2=a.find('|}')
c=c1
while(c<c2):
    print a[c]
    c+=1
于 2013-03-11T05:47:50.617 に答える