Я очищаю веб-сайт, используя python и BeautifulSoup. Я смог найти все тдс на странице с помощью команды:
data = soup.find_all('td')
Затем я нашел первый индивидуальный тд, который мне нужно использовать:
td = data[19]
Если я распечатал это td вывод:
<td data-geoid="0617568" data-isnumeric="1" data-srcnote="true" data-value="18.8">
<span data-title="Culver City city, California"></span><div class="qf-sourcenote">
<span></span><a title="Source: 2018 American Community Survey (ACS), 5-year estimates. Estimates are not comparable to other geographic levels due to methodology differences that may exist between different data sources."></a>
</div>18.8%</td>
Теперь я хочу извлечь данные, которые находятся между концом div и концом td, так что 18.8%. Я использовал этот post , чтобы попытаться извлечь его с помощью следующего кода:
m = re.search('</div>(.+?)</td>', td)
Это дает мне следующую ошибку:
Traceback (most recent call last):
File "/Users/Alfie/PycharmProjects/474scrape/srape.py", line 18, in <module>
m = re.search('</div>(.+?)</td>', td)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/re.py", line 183, in search
return _compile(pattern, flags).search(string)
TypeError: expected string or bytes-like object
Я думаю, что проблема с escape-символами или чем-то подобным, которые находятся в маркерах, которые я использую. Любая помощь приветствуется