Итак, поскольку мне нужны более подробные данные, я должен углубиться в HTML-код веб-сайта. Я написал сценарий, который возвращает мне список конкретных ссылок на подробные страницы, но я не могу заставить Python искать каждую ссылку этого списка для меня, он всегда останавливается на первом. Что я делаю не так?Python не ведет список ссылок
from BeautifulSoup import BeautifulSoup
import urllib2
from lxml import html
import requests
#Open site
html_page = urllib2.urlopen("http://www.sitetoscrape.ch/somesite.aspx")
#Inform BeautifulSoup
soup = BeautifulSoup(html_page)
#Search for the specific links
for link in soup.findAll('a', href=re.compile('/d/part/of/thelink/ineed.aspx')):
#print found links
print link.get('href')
#complete links
complete_links = 'http://www.sitetoscrape.ch' + link.get('href')
#print complete links
print complete_links
#
#EVERYTHING WORKS FINE TO THIS POINT
#
page = requests.get(complete_links)
tree = html.fromstring(page.text)
#Details
name = tree.xpath('//dl[@class="services"]')
for i in name:
print i.text_content()
также: Какой учебник вы можете порекомендовать мне, чтобы узнать, как поместить мой вывод в файл и очистить его, дать имена переменных, и т.д.?
Ваш запрос 'GET' с использованием' complete_links' не находится внутри цикла for, поэтому он будет запускаться только один раз с последним значением 'complete_links', принятым до выхода из цикла – lemonhead
, который вы переписываете' complete_links' в каждом цикле, является это правильно? Или вам нужен список ссылок? – Pynchia
Возможно ли, что 'complete_links' рассматривается как список значений, которые проверяются? – Chris