Как легко разобрать контент? - PullRequest
0 голосов
/ 25 июня 2019

Я изучаю функции Urllib.Код синтаксического анализа, который я написал, не выбирает всю информацию с веб-страницы.

Я изменил заголовок User Agent, чтобы запрос отображался как реальный пользователь.Некоторая информация показывается со страницы, но в основном мелким шрифтом.

import urllib.request
import urllib.parse
import re

print('Webpage content surfer')

try:
    url = input('Enter full website address (http://, https://:> ')
    headers = {}
    headers['User-Agent'] = 'Mozilla/5.0 (x11; Linux i686) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.27 Safari/537.17'
    req = urllib.request.Request(url, headers=headers)
    resp = urllib.request.urlopen(req)
    respdata = resp.read()


except Exception as e:
    print('That is not a valid website address\nCheck the web address'
          , (e))

content = re.findall(r'<p>(.*?)</p>', str(respdata))
for contents in content:
    print(contents)

Я не показываю никаких ошибок, но контент не отображает весь контент на странице.Это связано с запросом всей информации между абзацами с использованием

()

?

1 Ответ

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

Я только что проверил ваш код на http://example.com, и кажется, что он отображает все содержимое в диапазоне от <p> .. </p> Есть ли конкретный URL, с которым у вас проблемы?Я также предлагаю вам использовать BeautifulSoup

...