как просмотреть веб-страницу с результатами панели поиска, когда поисковый запрос не отображается в URL - PullRequest
0 голосов
/ 17 июня 2019

Я пытаюсь очистить результаты поиска на веб-странице, но когда я набираю внутреннюю строку поиска (например, ABC), она не отражает поиск в URL, поэтому, когда я использую BeautifulSoup4 для удаления URL-адреса, он дает мне «Нет»,

Есть ли способ найти / написать URL с включенным параметром поиска?

Я пытался использовать BeautifulSoup с запросами и парсер lxml, но результаты пока отсутствуют.

from bs4 import BeautifulSoup
import requests

source = requests.get('URL').text
soup = BeautifulSoup(source, 'lxml')

article = Soup.find('div')
print(article.prettify())

headline = article.div.hs.text

Ответы [ 2 ]

0 голосов
/ 17 июня 2019

Вам нужно проверить объект requests.Response, чтобы увидеть, какой был URL.

>>> import requests
>>> _tquery = requests.sessions.Session()
>>> qresults =  _tquery.request(method="get", url="https://www.google.com/search?q=python%20scraping%20module")

<Response [200]>

>>> qresults.url
'https://www.google.com/search?q=python%20scraping%20module'

BeautifulSoup поможет вам только с анализом атрибута text объекта Response.

0 голосов
/ 17 июня 2019

Beautifulsoap не обеспечивает всех соскоб вещей. Так что использование других более эффективных методов, таких как Selenium. Я приведу несколько примеров его использования. Если вы не установили его, вы можете установить его на:

https://chromedriver.storage.googleapis.com/index.html?path=2.35/

Использование:

from  selenium import webdriver
url = "URL"
driver_path = r'chromedriverpath'
browser = webdriver.Chrome(executable_path=driver_path)
browser.get(url)
x = driver.find_elements_by_css_selector("div") 
#For more specific :
x1 = driver.find_elements_by_css_selector("div[class='classname']") 

for all in x:
    print(all.text)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...