آموزش نصب Beautiful Soup
آموزش نصب Beautiful Soup
در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، به آموزش نصب Beautiful Soup خواهیم پرداخت.
پیشنهاد ویژه : پکیج آموزش صفر تا صد پایتون
از آنجا که BeautifulSoup یک کتابخانه استاندارد پایتون نیست، ابتدا باید آن را نصب کنیم. ما قصد داریم کتابخانه BeautifulSoup 4 (که به آن BS4 نیز می گویند) را نصب کنیم که جدیدترین کتابخانه است.
برای ایزوله کردن محیط کار خود برای عدم ایجاد اختلال در تنظیمات موجود، ابتدا اجازه دهید یک محیط مجازی ایجاد کنیم.
ایجاد یک محیط مجازی (اختیاری)
یک محیط مجازی به ما امکان می دهد یک نسخه فعال از پایتون را برای پروژه خاصی ایجاد کنیم بدون اینکه بر تنظیمات بیرونی تأثیر بگذارد.
بهترین راه برای نصب هر دستگاه بسته پایتون استفاده از pip است، با این حال ، اگر pip از قبل نصب نشده است (می توانید آن را با استفاده از “pip –version” در فرمان یا پوسته خود بررسی کنید) ، می توانید با دادن دستور زیر –
محیط لینوکس
1 |
$sudo apt-get install python-pip |
محیط ویندوز
برای نصب pip در ویندوز ، موارد زیر را انجام دهید –
- get-pip.py را از https://bootstrap.pypa.io/get-pip.py یا از github دانلود کنید.
- خط فرمان را باز کرده و به پوشه حاوی پرونده get-pip.py بروید.
- دستور زیر را اجرا کنید –
1 |
>python get-pip.py |
pip اکنون در دستگاه ویندوز شما نصب شده است.
می توانید pip خود را با اجرای زیر دستور تأیید کنید –
1 2 |
>pip --version pip 19.2.3 from c:\users\yadur\appdata\local\programs\python\python37\lib\site-packages\pip (python 3.7) |
نصب محیط مجازی
دستور زیر را در خط فرمان خود اجرا کنید –
1 |
>pip install virtualenv |
پس از اجرا، تصویر زیر را مشاهده خواهید کرد –
دستور زیر یک محیط مجازی (“myEnv”) در فهرست فعلی شما ایجاد می کند –
1 |
>virtualenv myEnv |
برای فعال کردن محیط مجازی خود ، دستور زیر را اجرا کنید –
1 |
>myEnv\Scripts\activate |
در تصویر بالا، می توانید “myEnv” را به عنوان پیشوند مشاهده کنید که به ما می گوید در محیط مجازی “myEnv” هستیم.
برای بیرون آمدن از محیط مجازی، غیرفعال کنید.
1 2 |
(myEnv) C:\Users\yadur>deactivate C:\Users\yadur> |
همانطور که محیط مجازی ما آماده است، اکنون اجازه دهید Beautifulsoup را نصب کنیم.
نصب BeautifulSoup
از آنجا که BeautifulSoup یک کتابخانه استاندارد نیست ، بنابراین باید آن را نصب کنیم. ما قصد داریم از بسته BeautifulSoup 4 (معروف به bs4) استفاده کنیم.
ماشین لینوکس
برای نصب bs4 در Debian یا Ubuntu linux با استفاده از مدیر بسته سیستم، دستور زیر را اجرا کنید –
1 2 |
$sudo apt-get install python-bs4 (for python 2.x) $sudo apt-get install python3-bs4 (for python 3.x) |
با استفاده از easy_install یا pip می توانید bs4 را نصب کنید (درصورتی که در نصب با استفاده از بسته بندی سیستم مشکلی پیدا کنید)
1 2 |
$easy_install beautifulsoup4 $pip install beautifulsoup4 |
(اگر از python3 استفاده می کنید به ترتیب باید از easy_install3 یا pip3 استفاده کنید)
ویندوز
نصب Beautifulsoup4 در ویندوز بسیار ساده است ، خصوصاً اگر pip را قبلاً نصب کرده اید.
(اگر از python3 استفاده می کنید به ترتیب باید از easy_install3 یا pip3 استفاده کنید)
1 |
>pip install beautifulsoup4 |
بنابراین اکنون beautifulsoup4 در دستگاه ما نصب شده است. اجازه دهید در مورد برخی از مشکلات پس از نصب با ما صحبت کنیم.
مشکلات پس از نصب
در دستگاه ویندوز ممکن است با آن مواجه شوید، نسخه اشتباه نصب شده است که عمدتا از طریق –
- خطا: “ImportError “No module named HTMLParser” ، بنابراین شما باید نسخه پایتون 2 کد را در زیر پایتون 3 اجرا کنید.
- خطا: “ImportError “No module named html.parser” وجود دارد، بنابراین شما باید نسخه Python 3 کد را در زیر Python 2 اجرا کنید.
بهترین راه برای خارج شدن از دو حالت فوق نصب مجدد BeautifulSoup است و نصب موجود را کاملاً از بین می برد.
اگر “SyntaxError “Invalid syntax” را در خط ROOT_TAG_NAME = u ‘[سند] “دریافت کردید، باید کد پایتون 2 را به پایتون 3 تبدیل کنید، فقط با نصب بسته –
1 |
$ python3 setup.py install |
یا با اجرای دستی اسکریپت تبدیل python 2 به 3 در دایرکتوری bs4 –
1 |
$ 2to3-3.2 -w bs4 |
نصب تجزیه کننده
به طور پیش فرض، Beautiful Soup از تجزیه کننده HTML موجود در کتابخانه استاندارد Python پشتیبانی می کند ، با این حال از بسیاری از تجزیه کنندگان پایتون شخص ثالث خارجی مانند تجزیه کننده lxml یا تجزیه کننده html5lib نیز پشتیبانی می کند.
برای نصب تجزیه کننده lxml یا html5lib ، از دستور استفاده کنید –
ماشین لینوکس
1 2 |
$apt-get install python-lxml $apt-get insall python-html5lib |
ویندوز
1 2 |
$pip install lxml $pip install html5lib |
به طور کلی ، کاربران از lxml برای سرعت استفاده می کنند و توصیه می شود اگر از نسخه قدیمی پایتون 2 (قبل از نسخه 2.7.3) یا پایتون 3 (قبل از 3.2.2) به عنوان تجزیه کننده داخلی HTML پایتون استفاده می کنید، از تجزیه کننده lxml یا html5lib استفاده کنید. در دست زدن به نسخه قدیمی خیلی خوب نیست.
اجرای BeautifulSoup
وقت آن است که پکیج BeautifulSoup را در یکی از صفحات html (با گرفتن صفحه وب – https://www.tutorialspoint.com/index.htm ، می توانید هر صفحه وب دیگری را که می خواهید انتخاب کنید) آزمایش کنید و برخی از اطلاعات را استخراج کنید.
در کد زیر، ما سعی داریم عنوان را از صفحه وب استخراج کنیم –
1 2 3 4 5 6 |
from bs4 import BeautifulSoup import requests url = "https://www.tutorialspoint.com/index.htm" req = requests.get(url) soup = BeautifulSoup(req.text, "html.parser") print(soup.title) |
خروجی
<title> H2O ، Colab ، Theano ، Flutter ، KNime ، Mean.js ، Weka ، Solidity ، Org.Json ، AWS QuickSight ، JSON. ساده ، حاشیه
1 |
<title>H2O, Colab, Theano, Flutter, KNime, Mean.js, Weka, Solidity, Org.Json, AWS QuickSight, JSON.Simple, Jackson Annotations, Passay, Boon, MuleSoft, Nagios, Matplotlib, Java NIO, PyTorch, SLF4J, Parallax Scrolling, Java Cryptography</title> |
یک کار مشترک استخراج کلیه URL ها در یک صفحه وب است. برای این منظور ما فقط باید کد زیر را اضافه کنیم –
1 2 |
for link in soup.find_all('a'): print(link.get('href')) |
خروجی
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
https://www.tutorialspoint.com/index.htm https://www.tutorialspoint.com/about/about_careers.htm https://www.tutorialspoint.com/questions/index.php https://www.tutorialspoint.com/online_dev_tools.htm https://www.tutorialspoint.com/codingground.htm https://www.tutorialspoint.com/current_affairs.htm https://www.tutorialspoint.com/upsc_ias_exams.htm https://www.tutorialspoint.com/tutor_connect/index.php https://www.tutorialspoint.com/whiteboard.htm https://www.tutorialspoint.com/netmeeting.php https://www.tutorialspoint.com/index.htm https://www.tutorialspoint.com/tutorialslibrary.htm https://www.tutorialspoint.com/videotutorials/index.php https://store.tutorialspoint.com https://www.tutorialspoint.com/gate_exams_tutorials.htm https://www.tutorialspoint.com/html_online_training/index.asp https://www.tutorialspoint.com/css_online_training/index.asp https://www.tutorialspoint.com/3d_animation_online_training/index.asp https://www.tutorialspoint.com/swift_4_online_training/index.asp https://www.tutorialspoint.com/blockchain_online_training/index.asp https://www.tutorialspoint.com/reactjs_online_training/index.asp https://www.tutorix.com https://www.tutorialspoint.com/videotutorials/top-courses.php https://www.tutorialspoint.com/the_full_stack_web_development/index.asp …. …. https://www.tutorialspoint.com/online_dev_tools.htm https://www.tutorialspoint.com/free_web_graphics.htm https://www.tutorialspoint.com/online_file_conversion.htm https://www.tutorialspoint.com/netmeeting.php https://www.tutorialspoint.com/free_online_whiteboard.htm http://www.tutorialspoint.com https://www.facebook.com/tutorialspointindia https://plus.google.com/u/0/+tutorialspoint http://www.twitter.com/tutorialspoint http://www.linkedin.com/company/tutorialspoint https://www.youtube.com/channel/UCVLbzhxVTiTLiVKeGV7WEBg https://www.tutorialspoint.com/index.htm /about/about_privacy.htm#cookies /about/faq.htm /about/about_helping.htm /about/contact_us.htm |
دیدگاه شما