В настоящее время я следую курсу в области больших данных, но не понимаю его. Для задания я хотел бы узнать, какие темы обсуждаются на форуме TripAdvisor об Амстердаме. Я хочу создать CSV-файл, включая тему, автора и количество ответов в теме. Некоторые вопросы:Петля на разных веб-страницах с использованием Python
- Как составить список всех тем? Я проверил сайт-источник для всех страниц, и тема всегда указана за
'onclick="setPID(34603)'
и заканчивается</a>
. Я пробовал'(re.findall(r'onclick="setPID(34603)">(.*?)</a>'
, пост), но он не работает. - Ответы не приведены в комментариях, но в отдельной строке на странице. Как я могу создать цикл и добавить все ответы в новую переменную?
- Как мне перебирать первые 20 страниц? URL-адрес моего кода включает только 1-ю страницу, дающую 20 тем.
- Создавать ли файл CSV до или после цикла?
Вот мой код:
from urllib import request
import re
import csv
topiclist=[]
metalist=[]
req = request.Request('https://www.tripadvisor.com/ShowForum-g188590-i60-
Amsterdam_North_Holland_Province.html', headers={'User-Agent' :
"Mozilla/5.0"})
tekst=request.urlopen(req).read()
tekst=tekst.decode(encoding="utf-8",errors="ignore").replace("\n"," ")
.replace("\t"," ")
topicsection=re.findall(r'<b><a(.*?)</div>',tekst)
topic=[]
for post in topicsection:
topic.append(re.findall(r'onclick="setPID(34603)">(.*?)</a>', post)
author=[]
for post in topicsection:
author.append(re.findall(r'<a href="/members-forums/.*?">(.*?)</a>',
post))
replies=re.findall(r'<td class="reply rowentry.*?">(.*?)</td>',tekst)
Столько, сколько я ненавижу говорить, если вы выскабливание веб-страницы, вы, вероятно, будет иметь удачи, используя 'xml.dom' –