您必须直接与API 通信,因为页面是通过JavaScript 呈现的,它调用后端API 以获取内容。
import requests
# https://haraj.com.sa/1179070147
def main(url):
params = {
'queryName': 'postLikeInfo,postContact',
'token': '',
'clientid': '812f41b2-9936-4405-aa9c-378db19b8cc4',
'version': '8.2.9 , 10 18 - 7 - 21'
}
data = {
"query": "query postLikeInfo_postContact($id: Int!, $token: String,$postId: Int!) {\n\t\t\n\t\tpostLikeInfo(id: $id, token: $token)\n\t\t{ \n isLike\n total\n isFollowing\n }\n\t\n\r\n\t\tpostContact(postId: $postId)\n\t\t{ \n contactText\n contactMobile\n }\n\t\n\t}",
"variables": {
"id": 79070147,
"postId": 79070147,
"token": ""
}
}
r = requests.post(url, params=params, json=data)
print(r.json()['data']['postContact']['contactMobile'])
main('https://graphql.haraj.com.sa/')
输出:
+966536010587
另外,为了解析完整的广告,请遵循以下调用:
import requests
# https://haraj.com.sa/1179070147
def main(url):
params = {
'queryName': 'detailsPosts_singlePost',
'token': '',
'clientid': '812f41b2-9936-4405-aa9c-378db19b8cc4',
'version': '8.2.9 , 10 18 - 7 - 21'
}
data = {
"query": "query($ids:[Int]) { posts( id:$ids) {\n\t\titems {\n\t\t\tid status authorUsername title city postDate updateDate hasImage thumbURL authorId bodyHTML bodyTEXT city tags imagesList commentStatus commentCount upRank downRank geoHash\n\t\t}\n\t\tpageInfo {\n\t\t\thasNextPage\n\t\t}\n\t\t} }",
"variables": {
"ids": [
79070147
]
}
}
r = requests.post(url, params=params, json=data)
print(r.json())
main('https://graphql.haraj.com.sa/')
输出:
{
"data":{
"posts":{
"items":[
{
"id":79070147,
"status":true,
"authorUsername":"mostafa awd",
"title":"فيلا للبيع في حي شبرا في الرياض",
"city":"الرياض",
"postDate":1627937386,
"updateDate":1627937386,
"hasImage":true,
"thumbURL":"536010587_1627936555504.jpg",
"authorId":12799016,
"bodyHTML":" السعر : 700,000 ريال\n <p>فيلا للبيع في حي شبرا ، الرياض ، الرياض</p>\n<p>الواجهة شرق</p><p>3 غرف نوم</p><p>صالتان</p><p>5 دورات مياة</p><p>عرض الشارع 20 متر</p><p>درج صالة</p><p>غرفة خادمة</p><p>بيت شعر</p><p>حوش</p><p>مطبخ</p><p>ملحق</p><p>مدخل سيارة</p><p>دوبلكس</p><p>المساحة 250 متر مربع</p>\n<p><img src=\"https://s3-eu-west-1.amazonaws.com/aqar/props/536010587_1627936555504.jpg\" loading=\"lazy\" >\n<img src=\"https://s3-eu-west-1.amazonaws.com/aqar/props/536010587_1627936555547.jpg\" loading=\"lazy\" >\n<img src=\"https://s3-eu-west-1.amazonaws.com/aqar/props/536010587_1627936555596.jpg\" loading=\"lazy\" >\n<img src=\"https://s3-eu-west-1.amazonaws.com/aqar/props/536010587_1627936555661.jpg\" loading=\"lazy\" >\n<img src=\"https://s3-eu-west-1.amazonaws.com/aqar/props/536010587_1627936555716.jpg\" loading=\"lazy\" >\n<img src=\"https://s3-eu-west-1.amazonaws.com/aqar/props/536010587_1627936555770.jpg\" loading=\"lazy\" >\n<img src=\"https://s3-eu-west-1.amazonaws.com/aqar/props/536010587_1627936555832.jpg\" loading=\"lazy\" >\n<img src=\"https://s3-eu-west-1.amazonaws.com/aqar/props/536010587_1627936555889.jpg\" loading=\"lazy\" >\n<img src=\"https://s3-eu-west-1.amazonaws.com/aqar/props/536010587_1627936555951.jpg\" loading=\"lazy\" >\n<img src=\"https://s3-eu-west-1.amazonaws.com/aqar/props/536010587_1627936556015.jpg\" loading=\"lazy\" >\n<img src=\"https://s3-eu-west-1.amazonaws.com/aqar/props/536010587_1627936556070.jpg\" loading=\"lazy\" >\n<img src=\"https://s3-eu-west-1.amazonaws.com/aqar/props/536010587_1627936556128.jpg\" loading=\"lazy\" >\n<img src=\"https://s3-eu-west-1.amazonaws.com/aqar/props/536010587_1627936556191.jpg\" loading=\"lazy\" >\n<img src=\"https://s3-eu-west-1.amazonaws.com/aqar/props/536010587_1627936556256.jpg\" loading=\"lazy\" >\n<img src=\"https://s3-eu-west-1.amazonaws.com/aqar/props/536010587_1627936556336.jpg\" loading=\"lazy\" >\n<img src=\"https://s3-eu-west-1.amazonaws.com/aqar/props/536010587_1627936556411.jpg\" loading=\"lazy\" >\n<img src=\"https://s3-eu-west-1.amazonaws.com/aqar/props/536010587_1627936556483.jpg\" loading=\"lazy\" >\n<img src=\"https://s3-eu-west-1.amazonaws.com/aqar/props/536010587_1627936556555.jpg\" loading=\"lazy\" >\n<img src=\"https://s3-eu-west-1.amazonaws.com/aqar/props/536010587_1627936556632.jpg\" loading=\"lazy\" >\n<img src=\"https://s3-eu-west-1.amazonaws.com/aqar/props/536010587_1627936556709.jpg\" loading=\"lazy\" >\n<img src=\"https://s3-eu-west-1.amazonaws.com/aqar/props/536010587_1627936556791.jpg\" loading=\"lazy\" ></p>",
"bodyTEXT":"السعر : 700,000 ريال\n \nفيلا للبيع في حي شبرا ، الرياض ، الرياض\n \nالواجهة شرق \n3 غرف نوم \nصالتان \n5 دورات مياة \nعرض الشارع 20 متر \nدرج صالة \nغرفة خادمة \nبيت شعر \nحوش \nمطبخ \nملحق \nمدخل سيارة \nدوبلكس \nالمساحة 250 متر مربع",
"tags":[
"حراج العقار",
"عقار حي شبرا في الرياض",
"فلل للبيع",
"فلل للبيع في الرياض",
"فلل للبيع في حي شبرا في الرياض"
],
"imagesList":[
"https://s3-eu-west-1.amazonaws.com/aqar/props/536010587_1627936555504.jpg",
"https://s3-eu-west-1.amazonaws.com/aqar/props/536010587_1627936555547.jpg",
"https://s3-eu-west-1.amazonaws.com/aqar/props/536010587_1627936555596.jpg",
"https://s3-eu-west-1.amazonaws.com/aqar/props/536010587_1627936555661.jpg",
"https://s3-eu-west-1.amazonaws.com/aqar/props/536010587_1627936555716.jpg",
"https://s3-eu-west-1.amazonaws.com/aqar/props/536010587_1627936555770.jpg",
"https://s3-eu-west-1.amazonaws.com/aqar/props/536010587_1627936555832.jpg",
"https://s3-eu-west-1.amazonaws.com/aqar/props/536010587_1627936555889.jpg",
"https://s3-eu-west-1.amazonaws.com/aqar/props/536010587_1627936555951.jpg",
"https://s3-eu-west-1.amazonaws.com/aqar/props/536010587_1627936556015.jpg",
"https://s3-eu-west-1.amazonaws.com/aqar/props/536010587_1627936556070.jpg",
"https://s3-eu-west-1.amazonaws.com/aqar/props/536010587_1627936556128.jpg",
"https://s3-eu-west-1.amazonaws.com/aqar/props/536010587_1627936556191.jpg",
"https://s3-eu-west-1.amazonaws.com/aqar/props/536010587_1627936556256.jpg",
"https://s3-eu-west-1.amazonaws.com/aqar/props/536010587_1627936556336.jpg",
"https://s3-eu-west-1.amazonaws.com/aqar/props/536010587_1627936556411.jpg",
"https://s3-eu-west-1.amazonaws.com/aqar/props/536010587_1627936556483.jpg",
"https://s3-eu-west-1.amazonaws.com/aqar/props/536010587_1627936556555.jpg",
"https://s3-eu-west-1.amazonaws.com/aqar/props/536010587_1627936556632.jpg",
"https://s3-eu-west-1.amazonaws.com/aqar/props/536010587_1627936556709.jpg",
"https://s3-eu-west-1.amazonaws.com/aqar/props/536010587_1627936556791.jpg"
],
"commentStatus":1,
"commentCount":0,
"upRank":0,
"downRank":0,
"geoHash":"th35vce06"
}
],
"pageInfo":{
"hasNextPage":false
}
}
}
}