При просмотре исходного кода найден код очистки - PullRequest
0 голосов
/ 30 мая 2019

Я пытаюсь очистить код от веб-сайта, который можно найти, если щелкнуть правой кнопкой мыши и выбрать «просмотреть исходный код страницы».Мой код, приведенный ниже, извлекается из результатов, найденных при щелчке правой кнопкой мыши и выборе «проверить», я думаю.Я получаю сообщение об ошибке «Файл загружен в неправильной кодировке:« UTF-8 ». Я работаю с данными на основе исходной информации об исходных страницах и не знаю, как это получить.

Смотри ниже

from bs4 import BeautifulSoup
import requests
import urllib.request
import urllib.error
import os, os.path, csv
import sys
from lxml import html
import requests

sys.stdout = open('scrapingoutput', 'a')
print(sys.stdout)


url= "https://www.geodatadirect.com/SearchResults/SuffolkSearchResults.aspx?state=NY&id=Suffolk&type=Sales"

urllib.request.urlopen("https://www.geodatadirect.com/SearchResults/SuffolkSearchResults.aspx?state=NY&id=Suffolk&type=Sales").read()

content = urllib.request.urlopen(url).read()

soup = BeautifulSoup(content)

print(soup.prettify())

Ответы [ 2 ]

0 голосов
/ 30 мая 2019

Попробуйте selenium library на веб-странице загрузки.Селен библиотека также полезна для загрузки динамического содержимого данных.

для браузера Chrome:

http://chromedriver.chromium.org/downloads

Установить веб-драйвер для браузера Chrome:

unzip ~/Downloads/chromedriver_linux64.zip -d ~/Downloads
chmod +x ~/Downloads/chromedriver
sudo mv -f ~/Downloads/chromedriver /usr/local/share/chromedriver
sudo ln -s /usr/local/share/chromedriver /usr/local/bin/chromedriver
sudo ln -s /usr/local/share/chromedriver /usr/bin/chromedriver

учебник по селену

https://selenium -python.readthedocs.io /

Замените ваш код этим.

from selenium import webdriver
from bs4 import BeautifulSoup
import time

driver = webdriver.Chrome('/usr/bin/chromedriver')
driver.get('https://www.geodatadirect.com/SearchResults/SuffolkSearchResults.aspx?state=NY&id=Suffolk&type=Sales')
time.sleep(3)

soup = BeautifulSoup(driver.page_source,'html.parser')

print(soup.prettify())

O / P:

<html>
 <head>
  <title>
   Nationwide Property Data, Reports, Sales Comps
  </title>
  <meta charset="utf-8"/>
  <meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport"/>
  <meta content="--XLC17oYuQE6UEhT-9_rC13L639t4C53w40_nWSbDM" name="google-site-verification"/>
  <meta content="GeoData Plus provides nationwide property reports, sales comparables, foreclosures, mortgages. Property data for residential and commercial real estate." name="description"/>
  <meta content="GeoData Plus" property="og:title"/>
  <meta content="https://www.geodataplus.com" property="og:url"/>
  <link href="https://www.geodataplus.com" rel="canonical"/>
  <meta content="website" property="og:type"/>
  <link href="/favicon.ico?v=Kx5JMIU84bo6i-lOxVlIH29IO5Qc9QPT6ENpVMaN-JE" rel="shortcut icon"/>
  <link href="/css/master.css?v=Liu7xdmA3BH167YXbnG76LfxA58TPHQR1J4L4ZzM5Qk" rel="stylesheet"/>
  <link href="/fonts/stylesheet.css?v=3NqqVyD10iq4848EK3FrA0HOaygo2MyDfL49n8ftRB0" rel="stylesheet"/>
  <link href="/css/Jquery-ui-auto.css?v=Nul8_ltyyt4O0iNe5la8BhlJ-Z84SOdeInfup2plryA" media="all" onload="if(media!='all')media='all'" rel="stylesheet"/>
  <noscript>
   <link href="/css/Jquery-ui-auto.css?v=Nul8_ltyyt4O0iNe5la8BhlJ-Z84SOdeInfup2plryA" rel="stylesheet"/>
  </noscript>
  <link href="theme/default/style.css" rel="stylesheet" type="text/css"/>
 </head>
 <body data-offset="200" data-spy="scroll" data-target=".navbar">
  <div class="" id="mainDiv">
   <div class="load-complete" id="site-loader">
      .........
      ..........
    </div>
  </div>
</body>
</html>

Где '/usr/bin/chromedriver' Путь драйвера хрома.

0 голосов
/ 30 мая 2019
import requests
import bs4
url = "https://www.geodatadirect.com/SearchResults/SuffolkSearchResults.aspx?state=NY&id=Suffolk&type=Sales"

page_content = requests.get(url).content
soup = bs4.BeautifulSoup(page_content, 'html.parser')
print(soup.prettify())

это печатает

<!DOCTYPE html>
<html>
 <head>
  <title>
   Nationwide Property Data, Reports, Sales Comps
  </title>
  <meta charset="utf-8"/>
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...