python 请求,BeautifulSoup返回奇怪的字符串

mrwjdhj3  于 2023-01-16  发布在  Python
关注(0)|答案(1)|浏览(146)

我用BeautifulSouprequests编写了一个程序,将几个divs元素的所有数据放入一个div中,类为rightContent,代码如下:

import requests
from bs4 import BeautifulSoup

url = "https://senf.ir/Company/5674580/%D8%A7%D9%87%D9%86-%D8%A7%D9%84%D8%A7%D8%AA"
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
div = soup.find('div', {'class': 'rightContent'}) #<div class="rightContent">
print(div.text)

这段代码工作得很好,唯一的问题是输出看起来很奇怪,几乎无法使用。输出:

اهن الات - آهن آلات و ضایعات




                                        استان :
                                    

گلستان



                                        شهر :
                                    

گرگان



                                        گروه :
                                    

صنعت



                                        زیر گروه :
                                    

آهن آلات و ضایعات



 آدرس  اهن الات:



گلستان-گرگان- بلوار استراباد- جنب نبروگاه فشار قوی برق - بازار اهن پلاک اول 



 مدیریت اهن الات:

مهرشاد قادری



                                تلفن :
                            

برای مشاهده اطلاعات لطفا
                                وارد شوید
                                    و در صورت عدم عضویت از اینجا 
                                ثبت نام  کنید
                                



                                همراه :
                            

برای مشاهده اطلاعات لطفا
                                وارد شوید
                                    و در صورت عدم عضویت از اینجا 
                                ثبت نام  کنید                              
                                



                                ایمیل :
                            





                                بازدید :
                            

2



Process finished with exit code 0

**我的目标:**我如何将此输出转换为字典?

我这样做的一个主要问题是随机放置的空格和语言是Persian而不是英语。

w8biq8rn

w8biq8rn1#

查找标题和值标记:

import requests
from bs4 import BeautifulSoup

url = "https://senf.ir/Company/5674580/%D8%A7%D9%87%D9%86-%D8%A7%D9%84%D8%A7%D8%AA"
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
title = soup.findAll('div', {'class': 'DetailsTitle'})
value = soup.findAll('div', {'class': 'DetailsValue'})

values = []
titles = []

for data in title: 
    values.append(data.get_text().replace('\n', '').replace('\r', '').replace(' ', ''))

for data in value: 
    titles.append(data.get_text().replace('\n', '').replace('\r', '').replace(' ', ''))

value_title_dict = dict(zip(values, titles))

value_title_dict将为:

{'استان :': 'گلستان', 'شهر :': 'گرگان', 'گروه :': 'صنعت', 'زیر گروه :': 'آهن آلات و ضایعات', ' آدرساهن الات:': 'گلستان-گرگان- بلوار استراباد- جنب نبروگاه فشار قوی برق - بازار اهن پلاک اول ', ' مدیریت اهن الات:': 'مهرشاد قادری', 'تلفن :': 'برای مشاهده اطلاعات لطفاوارد شویدو در صورت عدم عضویت از اینجا ثبت نامکنید', 'همراه :': 'برای مشاهده اطلاعات لطفاوارد شویدو در صورت عدم عضویت از اینجا ثبت نامکنید', 'ایمیل :': '', 'بازدید :': '40'}

相关问题