Ich versuche, eine Liste zu iterieren, um einige Links für die eine Website zu erhalten, die Unterkategorien mit mehreren Seiten hat. Der erste Link in der Unterkategorie hat die erste Nummer in der Liste (8), der zweite Link hat 6 und so weiter. Mein Ergebnis wie folgt aussehen wollen:Schleife Iteration von Liste
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/
Liste, die für Schleife itarate in versuchen: [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)
My Endergebnis für die erste Iteration will wie folgt aussehen:
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
Was ist Ihre Frage? Was funktioniert momentan nicht? Ihre Liste ("Liste, die versucht zu iterieren") hat verschiedene Zahlen (8, 6, 5, 14 ...) von Ihrem gewünschten ("möchte wie aussehen") Beispiel (1, 2, 3, 4 ...) . Was willst du? –
Ich möchte eine for-Schleife machen, die im Bereich auf der Nummer in den Listen iteriert. zum Beispiel würde der erste im Bereich von 1-8 liegen. Die zweite würde den zweiten Link aus den Unterkategorien und Iterate von 1-6 bekommen. – Data1234
Also, was ist deine Frage? Welcher Teil funktioniert nicht? Was macht es? Was soll es tun? – wwii