Новичок Python проблема со сканированием веб-страниц - PullRequest
0 голосов
/ 05 августа 2020

Я новичок в парсинге веб-страниц и был бы очень признателен за помощь! Я хочу выполнить поиск и вернуть его результаты, но он возвращается с ошибкой времени выполнения. Мой текущий код выглядит так:

from googlesearch import search
import requests
from bs4 import BeautifulSoup

print('Please enter your first name')
firstName = input()
print('Please enter your surname')
secondName = input()
query = firstName + ' ' + secondName
print('Please enter language ex:[en,fr,ar,jp,cn...]: ')
lang = input()

# requests
url = 'https://www.google.com/search?hl={}&q;={}&start;=3i#=10&ie;=UTF-8'.format(lang, query)
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0'}
# url source
source = requests.get(url, headers=headers).text

# BeautifulSoup
soup = BeautifulSoup(source, 'lxml')
# find all divs that contain search result
search_div = soup.find_all(class_='rc')
for result in search_div:
    # loop result list
    #geting h3
    print('Title: %s'%result.h3.string)
    print('\n')
    #geting a.href
    print('Url: %s'%result.a.get('href'))
    print('\n')
    # description
    print('Description: %s'%result.find(class_='st').text)
    print('\n###############\n')

Тем не менее, я получаю эту ошибку:

Traceback (most recent call last):
  File "/Users/axy/PycharmProjects/Name_Search/main.py", line 20, in <module>
    soup = BeautifulSoup(source, 'lxml')
  File "/Users/axy/PycharmProjects/Name_Search/venv/lib/python3.8/site-packages/bs4/__init__.py", line 242, in __init__
    raise FeatureNotFound(
bs4.FeatureNotFound: Couldn't find a tree builder with the features you requested: lxml. Do you need to install a parser library?

Process finished with exit code 1

Я новичок в этом и был бы очень признателен за небольшое руководство. Я также надеялся, что кто-нибудь сможет объяснить, что означает эта строка:

headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0'} 

Спасибо!

Ответы [ 2 ]

0 голосов
/ 05 августа 2020

в этой строке soup = BeautifulSoup(source, 'lxml') вы используете парсер lxml, не устанавливая его.

запустить pip install lxml он будет работать нормально.

0 голосов
/ 05 августа 2020

Похоже, вам нужно установить l xml.

Просто установите l xml, и он должен работать

...