私は複数のページを持つサブカテゴリを持つウェブサイトのいくつかのリンクを取得するためにリストを反復しようとしています。サブカテゴリ内の最初のリンクはリスト(8)の最初の番号を持ち、2番目のリンクは6などとなります。私の最終的な結果は次のようになりたい:forループでitarateしようループ反復リスト
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/
リスト:[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
あなたの質問は何ですか?現在動作していないのは何ですか?あなたのリスト(「反復しようとするリスト」)は、あなたの望む(「見た目にしたい」)例(1、2、3、4 ...)とは異なる数字(8,6,5,14 ...) 。なんでしょう? –
リスト内の数値の範囲内で反復するforループを作成したいとします。例えば、最初のものは1〜8の範囲内にある。 2番目はサブカテゴリから2番目のリンクを取得し、1〜6の間を白で表示します – Data1234
あなたの質問は何ですか?どの部分が機能していないのですか?それは何ですか?それは何をすべきか? – wwii