如何从不同语言的页面具有相同的多语言网站中获取阿拉伯语页面的漂亮汤 URL

How to get beautiful soup to scrape pages in Arabic from a multilingual website where pages in different languages have the same URL

我正在尝试从该网站抓取页面 Text 阿拉伯语和法语的页面具有相同的 URL 我尝试了以下代码

    headers = {'Accept-Language': "lang=\"AR-DZ"}
    r = requests.get("http://www.mae.gov.dz/news_article/6396.aspx",headers)
    soup = BeautifulSoup(r.content,"lxml")
    print(soup.getText)

我收到以下错误消息:

<bound method Tag.get_text of <html><head><title>Request Rejected</title></head><body>The requested URL was rejected. Please consult with your administrator.<br/><br/>Your support ID is: 12750291427324767866<br/><br/><a href="javascript:history.back();">[Go Back]</a></body></html>>

当我删除 header Beautifulsoup 时,用法语抓取页面。

我的目标是抓取阿拉伯语的陈述和演讲以建立语料库。任何帮助表示赞赏。

将语言 cookie 设置为“ar”

import requests
from bs4 import BeautifulSoup   
cookies = dict(language='ar')

r = requests.get("http://www.mae.gov.dz/news_article/6396.aspx",cookies=cookies)
soup = BeautifulSoup(r.content,"lxml")
print(soup.text)

首先:在 "lang=\"AR-DZ" 中,您在 AR-DZ 之前打开了 ",但在 AR-DZ 之后没有关闭 ",但您应该使用"lang=AR-DZ"


通常在浏览器中更改此页面上的语言你必须单击 link 和 url http://www.mae.gov.dz/select_language.aspx?language=ar&file=default_ar.aspx 其中有 language=ar - 所以你可以在代码中执行相同的操作.

使用 Session() 记住 cookies 并首先使用 requests.get() 与此 url。它将在 cookies.

中设置正确的语言
import requests
from bs4 import BeautifulSoup 

#headers = {'User-Agent': 'Mozilla/5.0'}
#headers = {'Accept-Language': "lang=AR-DZ"}

s = requests.Session()

url = 'http://www.mae.gov.dz/select_language.aspx?language=ar&file=default_ar.aspx'
r = s.get(url)#, headers=headers)

url = 'http://www.mae.gov.dz/news_article/6396.aspx'
r = s.get(url)#, headers=headers)

soup = BeautifulSoup(r.content, "lxml")
print(soup.getText)