__init__.py
baiduspider.predictor.__init__
special
⚓︎
BaiduPredictor
⚓︎
百度搜索词预测
本模块爬取百度的搜索词预测部分信息,按照百度提供的默认预测顺序排序,给出百度的搜索词预测
predict_news(self, query)
⚓︎
百度资讯搜索搜索词预测
Parameters:
Name | Type | Description | Default |
---|---|---|---|
query |
str |
要预测的部分搜索词 |
required |
Returns:
Type | Description |
---|---|
List[str] |
List[str]: 百度资讯搜索搜索词预测 |
Source code in baiduspider\predictor\__init__.py
def predict_news(self, query: str) -> List[str]:
"""百度资讯搜索搜索词预测
Args:
query (str): 要预测的部分搜索词
Returns:
List[str]: 百度资讯搜索搜索词预测
"""
data = json.loads(
self._get_response(f"http://news.baidu.com/sn/api/sug?wd={query}&prod=news")
)
return data["data"]
predict_pic(self, query)
⚓︎
百度图片搜索搜索词预测
Parameters:
Name | Type | Description | Default |
---|---|---|---|
query |
str |
要预测的部分搜索词 |
required |
Returns:
Type | Description |
---|---|
List[str] |
List[str]: 百度图片搜索搜索词预测 |
Source code in baiduspider\predictor\__init__.py
def predict_pic(self, query: str) -> List[str]:
"""百度图片搜索搜索词预测
Args:
query (str): 要预测的部分搜索词
Returns:
List[str]: 百度图片搜索搜索词预测
"""
data = json.loads(
self._get_response(
f"https://www.baidu.com/sugrec?ie=utf-8&wd={query}&prod=open_image"
)
)
ret = [i["q"] for i in data["g"]]
if "g" not in data:
return [data["q"]]
return ret
predict_tieba(self, query)
⚓︎
百度贴吧搜索搜索词预测
Parameters:
Name | Type | Description | Default |
---|---|---|---|
query |
str |
要预测的部分搜索词 |
required |
Returns:
Type | Description |
---|---|
List[baiduspider.predictor.models.TiebaPredictorResult] |
List[TiebaPredictorResult]: 百度贴吧搜索搜索词预测 |
Source code in baiduspider\predictor\__init__.py
def predict_tieba(self, query: str) -> List[TiebaPredictorResult]:
"""百度贴吧搜索搜索词预测
Args:
query (str): 要预测的部分搜索词
Returns:
List[TiebaPredictorResult]: 百度贴吧搜索搜索词预测
"""
data = json.loads(
self._get_response(
f"https://tieba.baidu.com/suggestion?query={query}&ie=utf-8"
)
)
if data["query_match"]["search_data"] is None:
return []
ret = [
{
"name": i["fname"],
"cover": i["fpic"],
"members": i["member_num"],
"threads": i["thread_num"],
"classifiers": [i["fclass1"], i["fclass2"]],
"desc": i["forum_desc"],
}
for i in data["query_match"]["search_data"]
]
return ret
predict_web(self, query)
⚓︎
百度网页搜索搜索词预测
Parameters:
Name | Type | Description | Default |
---|---|---|---|
query |
str |
要预测的部分搜索词 |
required |
Returns:
Type | Description |
---|---|
List[str] |
List[str]: 百度网页搜索搜索词预测 |
Source code in baiduspider\predictor\__init__.py
def predict_web(self, query: str) -> List[str]:
"""百度网页搜索搜索词预测
Args:
query (str): 要预测的部分搜索词
Returns:
List[str]: 百度网页搜索搜索词预测
"""
data = json.loads(
self._get_response(
f"https://www.baidu.com/sugrec?ie=utf-8&json=1&prod=pc&from=pc_web&wd={query}"
)
)
ret = [i["q"] for i in data["g"]]
if "g" not in data:
return [data["q"]]
return ret
predict_wenku(self, query)
⚓︎
百度文库搜索搜索词预测
Parameters:
Name | Type | Description | Default |
---|---|---|---|
query |
str |
要预测的部分搜索词 |
required |
Returns:
Type | Description |
---|---|
List[str] |
List[str]: 百度文库搜索搜索词预测 |
Source code in baiduspider\predictor\__init__.py
def predict_wenku(self, query: str) -> List[str]:
"""百度文库搜索搜索词预测
Args:
query (str): 要预测的部分搜索词
Returns:
List[str]: 百度文库搜索搜索词预测
"""
data = json.loads(
self._get_response(
f"https://www.baidu.com/sugrec?prod=open_wenku&wd={query}"
)
)
ret = [i["q"] for i in data["g"]]
if "g" not in data:
return [data["q"]]
return ret
predict_zhidao(self, query)
⚓︎
百度知道搜索搜索词预测
Parameters:
Name | Type | Description | Default |
---|---|---|---|
query |
str |
要预测的部分搜索词 |
required |
Returns:
Type | Description |
---|---|
List[str] |
List[str]: 百度知道搜索搜索词预测 |
Source code in baiduspider\predictor\__init__.py
def predict_zhidao(self, query: str) -> List[str]:
"""百度知道搜索搜索词预测
Args:
query (str): 要预测的部分搜索词
Returns:
List[str]: 百度知道搜索搜索词预测
"""
data = json.loads(
self._get_response(
f"https://www.baidu.com/sugrec?wd={query}&prod=open_zhidao"
)
)
if "g" not in data:
return [data["q"]]
ret = [i["q"] for i in data["g"]]
return ret