我正在学习解析 freelance.habr.com 网站。我收到了这种形式的所有数据:
Создать RDP доступ на арендованный сервер
7 откликов 23 просмотра 37 минут назад
5 000 руб. за проект
Верстка одностраничного сайта на HTML+CSS3
17 откликов 64 просмотра ~ 1 час назад
договорная
...
但我怎样才能从线路中删除回复和观点呢?我怎样才能这样排序:
Задача: Создать RDP доступ на арендованный сервер
Дата: 37 минут назад
Цена: 5 000 руб. за проект
Задача: Верстка одностраничного сайта на HTML+CSS3
Дата: ~ 1 час назад
Цена: договорная
我正在尝试这样做:
listHtml = soup.find("ul")
#for i in listHtml.find_all("div", {"class": "task__title", "task__params"}):
for divs in listHtml.find_all("div", class_=["task__title", "task__params","task__price"]):
#for divs in listHtml.find_all("div", class_=["task__title"]):
line = divs.text
#listTitle.append(line)
print(line)
也许最好将所有这些数据添加到字典中进行排序?
解决方案:
只需解析您需要的内容即可。使用类名,您找到一个包含有关视图、响应和发布时间的数据的元素,每个元素都有自己的类,您只需要解析具有 class 的元素中的并非所有数据
task__params。例如,指示发布时间的元素有一个类,params__published-at icon_task_publish_at尝试仅查找该元素并从中提取文本。更新2
如果需要将数据形成字典,其中键是任务,值是价格和日期,那么可以这样实现:
更新3
如果解析站点时出现 404 错误,并且您指定了正确的 url 地址,您可以尝试发送带有 headers 的请求
user-agent,例如:如果请求收到状态 200,则意味着它已被批准,即您已经可以提取页面代码并解析它。