Python 尝试使用Beauty Soup或ElementTree从迭代的链接列表中获取信息

Python 尝试使用Beauty Soup或ElementTree从迭代的链接列表中获取信息,python,xml,web-scraping,beautifulsoup,screen-scraping,Python,Xml,Web Scraping,Beautifulsoup,Screen Scraping,我正试图从中获取一个链接列表。(第二个链接是一个示例页面,实际上包含一些地址。许多链接不包含这些地址。) 我能够检索我想要爬过的初始链接列表,但我似乎无法进一步提取我要查找的最终信息(地址) 我假设我的语法有一个错误,我尝试使用beautiful soup和Python附带的库来删除它,但它不起作用 B组: from bs4 import BeautifulSoup import requests import re resultsdict = {} companyname = [] url1

我正试图从中获取一个链接列表。(第二个链接是一个示例页面,实际上包含一些地址。许多链接不包含这些地址。)

我能够检索我想要爬过的初始链接列表,但我似乎无法进一步提取我要查找的最终信息(地址)

我假设我的语法有一个错误,我尝试使用beautiful soup和Python附带的库来删除它,但它不起作用

B组:

from bs4 import BeautifulSoup
import requests
import re

resultsdict = {}
companyname = []
url1 = 'http://www.agenzia-interinale.it/sitemap-5.xml'

html = requests.get(url1).text
bs = BeautifulSoup(html)
# find the links to companies
company_menu = bs.find_all('loc')
for company in company_menu:
    data = bs.find("html",{"i"})
    print data
非第三方:

import requests
import xml.etree.ElementTree as et

req = requests.get('http://www.agenzia-interinale.it/sitemap-5.xml')
root = et.fromstring(req.content)
for i in root:
    print i[0].text

欢迎您的任何意见!谢谢。

您的语法还可以。您只需按照第一页中的链接进行操作,以下是米兰页面的外观:

from bs4 import BeautifulSoup
import requests
import re

resultsdict = {}
companyname = []
url1 = 'http://www.agenzia-interinale.it/sitemap-5.xml'

html = requests.get(url1).text
bs = BeautifulSoup(html)
company_menu = bs.find_all('loc')
for item in company_menu:
    if 'milano' in item.text:
        subpage = requests.get(item.text)
        subsoup = BeautifulSoup(subpage.text)
        adresses = subsoup.find_all(class_='riquadro_agenzia_off')
        for adress in adresses:
            companyname.append(adress.text)
print companyname

要获取所有地址,只需删除代码中的if“milano”块即可。我不知道它们是否都是按照一致的规则格式化的,因为米兰的地址在div下,class=“riquandro_agenzia_off”,如果其他子页面也是以这种方式格式化的,那么它应该可以工作。无论如何,这应该让你开始。希望能有帮助

所以你需要关注这些链接并提取这些链接下可用的信息?您只需要为这个链接发出一系列新的get请求,然后在那里解析信息。是吗?非常感谢!这非常有帮助。