Я пытаюсь выполнить итерацию списка, чтобы получить некоторые ссылки на веб-сайт, на котором есть подкатегории с несколькими страницами. Первая ссылка в подкатегории имеет первое число в списке (8), второе - 6 и так далее. Мой конечный результат хочет выглядеть следующим образом:Итерация цикла из списка
sublinks:
0 https://messageboards.webmd.com/family-pregnancy/f/relationships/
1 https://messageboards.webmd.com/family-pregnancy/f/parenting/
2 https://messageboards.webmd.com/family-pregnancy/f/pets/
3 https://messageboards.webmd.com/family-pregnancy/f/pregnancy/
список, которые пытаются itarate в течение цикла: [8, 6, 5, 13, 10, 16, 13, 15, 4, 4, 5, 7, 2, 6, 6, 8, 9, 8, 3, 8, 8, 1, 6, 3, 2, 15, 5, 4, 2, 12, 18, 5, 2]
import bs4 as bs
import urllib.request
import pandas as pd
import urllib.parse
import re
#source = urllib.request.urlopen('https://messageboards.webmd.com/').read()
source = urllib.request.urlopen('https://messageboards.webmd.com').read()
soup = bs.BeautifulSoup(source,'lxml')
df = pd.DataFrame(columns = ['link'],data=[url.a.get('href') for url in soup.find_all('div',class_="link")])
lists =[]
lists2=[]
lists3=[]
page_links = []
for i in range(0,33):
link = (df.link.iloc[i])
req = urllib.request.Request(link)
resp = urllib.request.urlopen(req)
respData = resp.read()
temp1=re.findall(r'Filter by</span>(.*?)data-pagedcontenturl',str(respData))
temp1=re.findall(r'data-totalitems=(.*?)data-pagekey',str(temp1))[0]
pageunm=round(int(re.sub("[^0-9]","",temp1))/10)
lists.append(pageunm)
for j in lists:
for x in range(1, j+1):
url_pages = link + '#pi157388622=' + str(j)
page_links.append(url_pages)
Мои конечный результат для первой итерации хочет выглядеть следующим образом:
https://messageboards.webmd.com/family-pregnancy/f/relationships/#pi157388622=1
https://messageboards.webmd.com/family-pregnancy/f/relationships/#pi157388622=2
https://messageboards.webmd.com/family-pregnancy/f/relationships/#pi157388622=3
https://messageboards.webmd.com/family-pregnancy/f/relationships/#pi157388622=4
https://messageboards.webmd.com/family-pregnancy/f/relationships/#pi157388622=5
https://messageboards.webmd.com/family-pregnancy/f/relationships/#pi157388622=6
https://messageboards.webmd.com/family-pregnancy/f/relationships/#pi157388622=7
https://messageboards.webmd.com/family-pregnancy/f/relationships/#pi157388622=8
Что вы хотите сказать? Что сейчас не работает? Ваш список («список, который пытается выполнить итерацию») имеет разные цифры (8, 6, 5, 14 ...) из вашего желаемого (например, «хотите выглядеть») (1, 2, 3, 4 ...) , Что ты хочешь? –
Я хочу сделать цикл for, который повторяется в диапазоне от числа в списках. например, первый будет находиться в диапазоне от 1 до 8. Второй получит второе звено из подкатегорий и итерацию от 1-6 – Data1234
Итак, в чем ваш вопрос? Какая часть не работает? Что он делает? Что он должен делать? – wwii