0

'boa'如果在列表中,如何保存项目href列表?我不想使用 get() 打印它们,而是将它们转换为自己变量中的列表(似乎这些在字典中?),最好是boat_links. 谢谢!

import urllib2
from bs4 import BeautifulSoup

#Open Craigslist with BeautifulSoup and save to file

url = 'http://losangeles.craigslist.org/boo/'

response = urllib2.urlopen(url)
webContent = response.read()

f = open('C:\Users\dell\Desktop\python\\boat_crawler\craigslist.html', 'w')
f.write(webContent)
f.close

html_doc = open('C:\Users\dell\Desktop\python\\boat_crawler\craigslist.html')

soup = BeautifulSoup(html_doc)

boat_links = []

for a in soup.find_all('a'):
    if 'boa' in a['href']:
    print a.get('href')
4

1 回答 1

1

我不确定您是否想要列表或字典或列表字典,所以这里都是

if a.get('href').find('boa')>-1:
    boat_links.append(a.get('href'))

这是一个字典,其中 a 标签文本作为键,href 作为值

boat_links = {}
for a in soup.find_all('a'):
    if a.get('href').find('boa')>-1:
         boat_links[a.text] = a.get('href')

这是基于 a.tags 的列表字典(如果您有多个具有相同文本的链接怎么办)

boat_links = {}
for a in soup.find_all('a'):
    if a.get('href').find('boa')>-1
         if boat_links.has_key(a.text):
              boat_links[a.text].append(a.get('href'))
         else:
              boat_links[a.text] = [a.get('href')]
于 2013-06-21T19:47:06.183 回答