Webscraping с Python (новичок)

Я делаю первый пример учебника webscraping из книги «Автоматизация скучных задач с помощью Python». Проект состоит из ввода поискового запроса в командной строке и моего компьютера автоматически открывается браузер со всеми результатами поиска в новых вкладках

В нем упоминается, что мне нужно найти

<h3 class="r"> 

элемент из источника страницы, которые являются ссылками на каждый результат поиска. Класс r используется только для ссылок результатов поиска.

Но проблема в том, что я не могу найти его нигде, даже используя Chrome Devtools. Любая помощь относительно того, где это, была бы весьма признательна.

Примечание. Для справки это полная программа, как видно из книги.

# lucky.py - Opens several Google search results.

import requests, sys, webbrowser, bs4

print('Googling..') # display text while downloading the Google page
res= requests.get('http://google.com/search?q=' + ' '.join(sys.argv[1:]))
res.raise_for_status()

#Retrieve top searh result links.
soup = bs4.BeautifulSoup(res.text)

#Open a browser tab for each result.
linkElems = soup.select('.r a')
numOpen = min(5,len(linkElems))
for i in range(numOpen):
    webbrowser.open('http://google.com' + linkElems[i].get('href'))

python,web-scraping,

2

Ответов: 1


2

Это будет работать для вас:

>>> import requests
>>> from lxml import html
>>> r = requests.get("https://www.google.co.uk/search?q=how+to+do+web+scraping&num=10")
>>> source = html.fromstring((r.text).encode('utf-8'))
>>> links = source.xpath('//h3[@class="r"]//a//@href')
>>> for link in links:
        print link.replace("/url?q=","").split("&sa=")[0]

Выход :

http://newcoder.io/scrape/intro/
https://www.analyticsvidhya.com/blog/2015/10/beginner-guide-web-scraping-beautiful-soup-python/
http://docs.python-guide.org/en/latest/scenarios/scrape/
http://webscraper.io/
https://blog.hartleybrody.com/web-scraping/
https://first-web-scraper.readthedocs.io/
https://www.youtube.com/watch%3Fv%3DE7wB__M9fdw
http://www.gregreda.com/2013/03/03/web-scraping-101-with-python/
http://analystcave.com/web-scraping-tutorial/
https://en.wikipedia.org/wiki/Web_scraping

Примечание . Я использую Python 2.7.X, для Python 3.X вам просто нужно окружить вывод печати, как этот вывод (link.replace ("/ url? Q =", ""). Split ("& sa =") [0])

питон, веб-соскоб,
Похожие вопросы