我使用BeautifulSoup使用以下代码解析网站。我能够解析网站和打印数据,当前输出是@ 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()
答案 0 :(得分:0)
[我无法评论我不知道为什么......:P]
我没有使用过beautifulsoup,但通常当我必须从整个网页中检索某些部分时,我只是寻找围绕重要数据的唯一标识符。
例如在您的情况下{|
和|}
唯一出现。
所以,只需阅读整个页面并找到您的数据:
site=urllib2.urlopen(url1)
a=site.read()
c1=a.find('{|')
c2=a.find('|}')
c=c1
while(c<c2):
print a[c]
c+=1