Это HTML-код, как вы можете видеть, есть два тега, т.е. <code>, <img>
.Теперь я хочу обратить ваше внимание на то, что когда вы прокрутите маленький вправо, вы увидите тег code
сразу после тега img
.
Проблема
Теперь главная проблема в том, что я хочу все теги кода, для этого я использую bs4, но Я могу получить теги кода, которые находятся сразу после тегов изображения. Не знаю почему?Любая идея?
<code style="display: none" id="bpr-guid-1535430">
{"data":{"mediaConfig":{"mprConfig":{"sizes":[{"width":60,"height":30,"$type":"com.linkedin.voyager.common.MediaProcessorSize"},{"width":60,"height":36,"$type":"com.linkedin.voyager.common.MediaProcessorSize"},{"width":90,"height":45,"$type":"com.linkedin.voyager.common.MediaProcessorSize"},{"width":90,"height":54,"$type":"com.linkedin.voyager.common.MediaProcessorSize"},{"width":100,"height":50,"$type":"com.linkedin.voyager.common.MediaProcessorSize"},{"width":100,"height":60,"$type":"com.linkedin.voyager.common.MediaProcessorSize"},{"width":100,"height":100,"$type":"com.linkedin.voyager.common.MediaProcessorSize"},{"width":120,"height":60,"$type":"com.linkedin.voyager.common.MediaProcessorSize"},{"width":120,"height":72,"$type":"com.linkedin.voyager.common.MediaProcessorSize"},{"width":127,"height":30,"$type":"com.linkedin.voyager.common.MediaProcessorSize"},{"width":127,"height":46,"$type":"com.linkedin.voyager.common.MediaProcessorSize"},{"width":150,"height":75,"$type":"com.linkedin.voyager.common.MediaProcessorSize"},{"width":150,"height":90,"$type":"com.linkedin.voyager.common.MediaProcessorSize"},{"width":191,"height":45,"$type":"com.linkedin.voyager.common.MediaProcessorSize"},{"width":191,"height":69,"$type":"com.linkedin.voyager.common.MediaProcessorSize"},{"width":200,"height":100,"$type":"com.linkedin.voyager.common.MediaProcessorSize"},{"width":200,"height":120,"$type":"com.linkedin.voyager.common.MediaProcessorSize"},{"width":200,"height":200,"$type":"com.linkedin.voyager.common.MediaProcessorSize"},{"width":254,"height":60,"$type":"com.linkedin.voyager.common.MediaProcessorSize"},{"width":254,"height":92,"$type":"com.linkedin.voyager.common.MediaProcessorSize"},{"width":337,"height":120,"$type":"com.linkedin.voyager.common.MediaProcessorSize"},{"width":400,"height":400,"$type":"com.linkedin.voyager.common.MediaProcessorSize"},{"width":506,"height":180,"$type":"com.linkedin.voyager.common.MediaProcessorSize"},{"width":674,"height":240,"$type":"com.linkedin.voyager.common.MediaProcessorSize"},{"width":750,"height":750,"$type":"com.linkedin.voyager.common.MediaProcessorSize"}],"filters":{"cover":"https://media.licdn.com/mpr/mpr/shrinknp_{width}_{height}{+id}","contain":"https://media.licdn.com/mpr/mpr/shrinknp_{width}_{height}{+id}","original":"https://media.licdn.com/media{+id}","fill":"https://media.licdn.com/mpr/mpr/shrink_{width}_{height}{+id}","$type":"com.linkedin.voyager.common.MediaProcessorFilters"},"$type":"com.linkedin.voyager.common.MediaProcessorConfig"},"$type":"com.linkedin.voyager.common.MediaConfig"},"$type":"com.linkedin.voyager.common.Configuration"},"included":[]}
</code>
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" style="display: none" class="datalet-bpr-guid-1535430"><code style="display: none" id="bpr-guid-1535431">
{"data":{"canBrowseProfiles":false,"reactivationFeaturesEligible":false,"canViewJobAnalytics":false,"canViewWVMP":false,"premiumFreeTrialEligible":true,"canViewCompanyInsights":false,"$type":"com.linkedin.voyager.premium.FeatureAccess"},"included":[]}
</code>
<code style="display: none" id="datalet-bpr-guid-1535431">
{"request":"/voyager/api/premium/featureAccess?name\u003DreactivationFeaturesEligible","status":200,"body":"bpr-guid-1535431"}
</code>
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" style="display: none" class="datalet-bpr-guid-1535431"><code style="display: none" id="bpr-guid-1535432">
{"data":{"companies":[],"$deletedFields":["paidProducts","postJobsEnabled"],"memberGroup":"FREE","showStaticLearning":false,"$type":"com.linkedin.voyager.common.Nav","$id":"M8x5UY0Zt6eGdBCiy+iKhA==,root"},"included":[]}
</code>
<code style="display: none" id="datalet-bpr-guid-1535432">
{"request":"/voyager/api/nav","status":200,"body":"bpr-guid-1535432"}
</code>
Ниже приведен код, который я использую в Python.
h = HTMLParser()
companyname = sys.argv[1]
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:63.0) Gecko/20100101 Firefox/63.0',
}
url = 'https://www.linkedin.com/search/results/all/?keywords='+companyname+'&origin=GLOBAL_SEARCH_HEADER'
req = requests.get(url, headers=headers)
finding = BeautifulSoup(req.content, 'lxml')
for x in finding.findAll('code'):
print x