Cách cạo Google bằng Python

Làm thế nào để, Python, Cạo, Nov-15-20225 phút đọc

Google là người chơi lớn nhất trong số tất cả các công cụ tìm kiếm khi nói đến tìm kiếm thông tin trên Internet. Theo ước tính, hơn 3,5 tỷ tìm kiếm được thực hiện trên Google Tìm kiếm mỗi ngày. Chúng tôi (người dùng Google) chỉ được cung cấp một lượng thông tin nhất định dựa trên Google Analytics và Google Ads. Google sử dụng API của mình

Mục lục

Google là người chơi lớn nhất trong số tất cả các công cụ tìm kiếm khi nói đến tìm kiếm thông tin trên Internet. Theo ước tính, hơn 3,5 tỷ tìm kiếm được thực hiện trên Google Tìm kiếm mỗi ngày. Chúng tôi (người dùng Google) chỉ được cung cấp một lượng thông tin nhất định dựa trên Google Analytics và Google Ads. Google sử dụng API (Giao diện lập trình ứng dụng) và về cơ bản chọn thông tin có giá trị nhất đối với chúng tôi dựa trên nghiên cứu và xếp hạng của nó. Nhưng nếu chúng ta muốn đào sâu hơn một chút vào thông tin nào thực sự có giá trị đối với bạn thì sao? 

Ở đây có nhu cầu cạo. Bạn có thể nghĩ về một trình quét Google như một cách để làm nổi bật các chương quan trọng nhất của một cuốn sách. Khi bạn quét một cuốn sách giáo khoa để tìm thông tin, bạn có xu hướng chọn ra văn bản sẽ có giá trị nhất cho nghiên cứu hoặc kiểm tra của bạn. Nhưng World Wide Web lớn hơn một cuốn sách 1000 trang. Vì vậy, trong trường hợp của Internet, Google scraper có thể là con mắt tập trung vào laser của bạn, ngay lập tức lấy và thu thập các kết quả hàng đầu về chủ đề bạn thắc mắc. Bạn có thể trích xuất kết quả tìm kiếm của Google dựa trên các từ khóa cụ thể. Ví dụ: nếu bạn quét Google bằng từ khóa "sư tử", trình quét web của Google sẽ cung cấp cho bạn một số URL được xếp hạng hàng đầu nhất định dựa trên từ khóa đó. Bạn càng sử dụng nhiều từ khóa, Google sẽ cung cấp cho bạn các URL và dữ liệu cụ thể hơn. Dữ liệu càng cụ thể, nó sẽ càng được điều chỉnh theo yêu cầu của bạn. Nhưng trước tiên chúng ta hãy hiểu sự cần thiết phải cạo Google.

Tại sao bạn cần phải Scrape Google?

Bạn biết rằng Google là điểm truy cập chính vào Internet cho hàng tỷ người và hầu hết mọi doanh nghiệp đều muốn xuất hiện trong kết quả của Google Tìm kiếm. Xếp hạng và đánh giá của Google có tác động lớn đến hồ sơ trực tuyến của các doanh nghiệp địa phương. Các cơ quan tiếp thị có nhiều khách hàng từ các ngành công nghiệp khác nhau phụ thuộc rất nhiều vào việc có được các công cụ SEO (Tối ưu hóa Công cụ Tìm kiếm) đáng tin cậy. Chúng là một phương tiện để thực hiện các nhiệm vụ khác nhau một cách hiệu quả và là phương tiện để quản lý và phân tích kết quả thành công. 

Sau đây là một số trường hợp sử dụng của việc cạo Google.

  • Bạn có thể phân tích quảng cáo cho một tập hợp từ khóa nhất định.
  • Bạn có thể theo dõi sự cạnh tranh của mình trong cả kết quả không phải trả tiền và trả tiền.
  • Bạn có thể xây dựng danh sách URL cho các từ khóa cụ thể. 

Các doanh nghiệp cần phải scrap Google vì những lý do sau.

  • Tối ưu hóa công cụ tìm kiếm (SEO) - Scraping Google cho một công ty thấy trang web của họ xuất hiện cao như thế nào trên trang kết quả của Google và cung cấp cái nhìn thoáng qua về số lượng từ khóa mà trang web của họ sử dụng trên bất kỳ trang nào. Trang web càng sử dụng nhiều từ khóa, trang cụ thể đó xuất hiện trên trang kết quả càng cao. Vì vậy, hiểu cách sử dụng SEO giúp doanh nghiệp của bạn có tính cạnh tranh cao.
  • Tiếp thị - Chúng ta càng nhìn thấy logo Amazon trên màn hình của mình, chúng ta càng có nhiều khả năng đến Amazon khi chúng ta cần mua hàng. Google scraping giúp thu thập dữ liệu về cách đối thủ cạnh tranh của bạn quảng cáo sản phẩm của họ, sản phẩm họ chọn để quảng cáo và cách khách hàng phản hồi với các sản phẩm đó. 
  • Chiến thuật bán hàng cạnh tranh - Google scraping giúp công ty của bạn tạo ra các chiến thuật bán hàng cạnh tranh hơn. Nếu công ty của bạn xếp hạng thấp trên một trang kết quả cụ thể, nó có thể cung cấp cái nhìn sâu sắc về lý do tại sao một sản phẩm cụ thể của công ty bạn không thành công. Scraping mang lại cho bạn một chân trên đối thủ cạnh tranh của bạn và cung cấp những cách mới để cạnh tranh trong thế giới này. 

Scraping Google bằng Python

Hãy xem cách chúng ta có thể cạo Google bằng python.

Cài đặt

Trước tiên, bạn cần cài đặt một fake-useragent. Nó lấy useragent cập nhật với cơ sở dữ liệu trong thế giới thực.

pip cài đặt fake-useragent

Nhập thư viện

Bạn phải nhập tất cả các thư viện cần thiết, như hình dưới đây.

Nhập khẩu gấu trúc dưới dạng PD
Nhập numpy dưới dạng NP
Nhập urllib
từ fake_useragent nhập UserAgent
Yêu cầu nhập khẩu 
Nhập khẩu lại
từ urllib.request import request, urlopen
từ bs4 nhập khẩu BeautifulSoup

Sử dụng từ khóa

Bạn phải xây dựng URL Google bằng cách sử dụng từ khóa của bạn và số lượng kết quả. Để làm điều này, chúng tôi sẽ làm theo hai bước:

Mã hóa từ khóa thành HTML bằng urllibThêm id vào URL

Chúng tôi cho rằng từ khóa của chúng tôi là "trăn học máy".

keyword= "Python học máy"
html_keyword= urllib.parse.quote_plus(từ khóa)
in(html_keyword)

Khi chúng tôi in ra từ khóa, chúng tôi nhận được kết quả sau.

Xây dựng URL Google

Sau khi mã hóa từ khóa thành HTML bằng urllib, chúng ta phải xây dựng URL Google như hình dưới đây.

number_of_result = 15
google_url = "https://www.google.com/search?q=" + html_keyword + "&num=" + str(number_of_result)
print(google_url)

Chúng tôi nhận được URL sau:

Nhận kết quả

Bây giờ, chúng ta phải nhấn URL và nhận kết quả. Để đạt được điều này, Súp đẹp Useragent giả sẽ giúp chúng tôi điều đó.

ua = UserAgent()
response = requests.get(google_url, {"User-Agent": ua.random})
soup = BeautifulSoup(response.text, "html.parser")

Chúng ta chỉ cần các biểu thức chính quy để trích xuất thông tin chúng ta muốn.

result = soup.find_all('div', attrs = {'class': 'ZINbbc'})
results=[re.search('\/url\?q\=(.*)\&sa',str(i.find('a', href = True)['href'])) for i in result if "url" in str(i)]
#this is because in rare cases we can't get the urls
links=[i.group(1) for i in results if i != None]
links

Đây là những gì chúng tôi nhận được.

Đây là cách bạn có thể quét Google bằng Python. 

Chúng ta cũng có thể tổng hợp đoạn mã trên trong một hàm scraper duy nhất, như được hiển thị bên dưới.

def google_results(keyword, n_results):
    query = keyword
    query = urllib.parse.quote_plus(query) # Format into URL encoding
    number_result = n_results
    ua = UserAgent()
    google_url = "https://www.google.com/search?q=" + query + "&num=" + str(number_result)
    response = requests.get(google_url, {"User-Agent": ua.random})
    soup = BeautifulSoup(response.text, "html.parser")
    result = soup.find_all('div', attrs = {'class': 'ZINbbc'})
    results=[re.search('\/url\?q\=(.*)\&sa',str(i.find('a', href = True)['href'])) for i in result if "url" in str(i)]
    links=[i.group(1) for i in results if i != None]
    return (links)

Ở đây google_results là chức năng scraper của chúng tôi, trong đó chúng tôi chuyển từ khóa và số lượng kết quả làm tham số và xây dựng URL của Google.

google_results('học máy bằng Python', 10)

Đây là những gì chúng tôi nhận được.

Sử dụng proxy

Nếu bạn muốn kết nối với API Google Ads thì sao? Bạn có thể thực hiện việc này thông qua proxy bằng cách đặt cấu hình http_proxy trong tệp google-ads.yaml như hình dưới đây.

http_proxy: INSERT_PROXY_HERE

Bạn có thể chỉ định http://user:pass@localhost:8082 làm proxy. Bạn cũng có thể định cấu hình cài đặt proxy theo lập trình với sự trợ giúp của các phương thức GoogleAdsClient như:

  • load_from_dict
  • load_from_env
  • load_from_string

Chẳng hạn 

config = {
  ...
  "http_proxy": "INSERT_PROXY_HERE",
}
googleads_client = GoogleAdsClient.load_from_dict(config)

Bạn phải đặt biến môi trường GOOGLE_ADS_HTTP_PROXY để sử dụng proxy từ phương thức load_from_env.

Tại sao nên sử dụng Google Proxies?

Sau đây là những lý do để sử dụng proxy của Google.

  • Nhận kết quả nhanh và duy nhất - Tất cả các công cụ tìm kiếm, bao gồm cả Google, đều cau mày khi sử dụng phần mềm tự động để trích xuất kết quả. Khi họ tìm thấy một số yêu cầu tìm kiếm đến từ một địa chỉ IP, họ sẽ chặn địa chỉ IP và ngăn không cho nó truy cập vào bất kỳ dữ liệu nào. Vì vậy, với một loạt các proxy riêng độc đáo và chuyên dụng, bạn không chỉ có thể sử dụng phần mềm tự động để trích xuất kết quả tìm kiếm của Google mà còn có thể lấy dữ liệu cực kỳ nhanh.
  • Giữ quyền riêng tư- Các proxy của Google đảm bảo rằng địa chỉ IP ban đầu của bạn sẽ an toàn và bảo mật và sẽ không dễ bị bất kỳ nỗ lực hack nào. Họ cũng sẽ đảm bảo rằng thông tin nhạy cảm trong máy tính của bạn có thể được giữ ở một vị trí an toàn.
  • Tự động hóa - Phần mềm tự động hóa hoạt động chính xác bằng cách sử dụng proxy chất lượng tốt và bạn không cần phải mua bất kỳ thứ gì khác kết hợp với việc có proxy chuyên dụng và phần mềm tự động hóa.

Kết thúc

Bạn có thể quét Google bằng Python cho:

  • Phân tích đối thủ cạnh tranh
  • Xây dựng liên kết
  • Làm nổi bật sự hiện diện xã hội
  • Tìm kiếm từ khóa

Khi thu thập dữ liệu từ Google, proxy rất cần thiết vì chúng có thể giúp các công ty tăng thứ hạng trên các công cụ tìm kiếm và ngăn IP Internet của họ bị chặn. Bạn có thể sử dụng toàn bộ lô proxy chuyên dụng để quét Google và chúng giúp bạn lấy dữ liệu cực kỳ nhanh.

Hy vọng bạn đã hiểu về cách cạo Google bằng Python.