import requests, os
from bs4 import BeautifulSoup
directory = os.path.normpath("C:\\Users\x\\Desktop\\names.txt")
f = open(directory, 'r', encoding='utf8')
x = f.readlines()
for line in x:
s = line.split(",")[0].replace(" ","")
n = line.split(",")[1].replace(" ","")
print(s + " " + n)
res = requests.get('http://www.scopus.com/results/authorNamesList.uri? origin=searchauthorlookup&src=al&edit=&poppUp=&basicTab=&affiliationTab=&advancedTab=&st1=' + s + '&st2=' + n + '&institute=&orcidId=&authSubject=LFSC&_authSubject=on&authSubject=HLSC&_authSubject=on&authSubject=PHSC&_authSubject=on&authSubject=SOSC&_authSubject=on&s=AUTH--LAST--NAME%28' + s + '%29+AND+AUTH--FIRST%28' + n + '%29&sdt=al&sot=al&searchId=81BECD653C7453F7BFBBB1CD8D8E5B04.wsnAw8kcdt7IPYLO0V48gA%3A220&exactSearch=off&sid=81BECD653C7453F7BFBBB1CD8D8E5B04.wsnAw8kcdt7IPYLO0V48gA%3A220')
content = res.content
soup = BeautifulSoup(content, 'lxml').find_all('div', {'class':'dataCol2'})
for item in soup:
print(item.text)
break
beautifulsoup(コンテンツ、 'lxml')。find_allはxの最後の行にのみ作用します。どうすればこの問題を解決できますか?Python BeautifulSoup forループはforループでは機能しません。
削除スペースを'と 'origin' – MYGz
私はここにコードを入れたときに間違いだという。通常それらの間にはスペースはありません。 res.contentはitearionごとに異なる値を取得しますが、beautifulsoup.find_allは最後の反復でのみ機能します。これを解決する必要があります – tech197
'names.txt?'の最初の2〜3行を含めることができますか? – MYGz