用python写的关键词在搜索引擎中的排名
无聊写来练练手,觉得有用的拿去只写了百度pc和360的排名,百度手机、搜狗、神马也是差不多的,直接自己改就行了
import requests
from bs4 import BeautifulSoup
import re
import time
from fake_useragent import UserAgent
# 搜索引擎排名类
class SearchRank():
# 关键词
keyword = None
# 匹配的域名
matchUrl = None
# 当前排名
rank = 0
# 请求头
headers = {
'User-Agent': UserAgent().random
}
# 初始化
def __init__(self, keyword, matchUrl):
self.keyword = keyword
self.matchUrl = matchUrl
# 百度pc排名
def rankBaiduPc(self):
for i in range(0, 100, 10):
url = f'https://www.baidu.com/s?ie=utf-8&wd={self.keyword}&pn={i}'
res = requests.get(url=url, headers=self.headers)
if res.status_code == 200:
res_text = res.text
# print(res.content.decode('utf-8'))
soup = BeautifulSoup(res_text, 'lxml')
# 找出当前页中id为content_left下的子div的数据,返回的是一个列表数据
html = soup.select('#content_left>div')
# 如果html的长度为0,证明当前操作频繁,没有获取到所需数据
print(len(html))
for j in range(len(html)):
# 在结果中匹配是否包含有matchUrl的值
result = re.search(self.matchUrl, str(html))
if bool(result):
self.rank = self.rank + j
return self.rank
self.rank += len(html)
time.sleep(10)
# 360排名
def rank360(self):
for i in range(0, 10):
url = f'https://www.so.com/s?ie=utf-8&src=360sou_newhome&q={self.keyword}&pn={i}'
res = requests.get(url=url, headers=self.headers)
if res.status_code == 200:
res_text = res.text
# print(res.content.decode('utf-8'))
soup = BeautifulSoup(res_text, 'lxml')
# 找出当前页中所有包含类名res-list的数据,返回的是一个列表数据
html = soup.select('.res-list')
# 如果html的长度为0,证明当前操作频繁,没有获取到所需数据
print(len(html))
for j in range(len(html)):
# 在结果中匹配是否包含有matchUrl的值
result = re.search(self.matchUrl, str(html))
if bool(result):
self.rank = self.rank + j
return self.rank
self.rank += len(html)
time.sleep(10)
obj = SearchRank('安卓破解', 'www.52pojie.cn')
res = obj.rank360()
if res:
print(f'网站排名是{res}')
else:
print('当前关键词未有排名')
File "C:\TMP\key.py", line 5, in <module>
from fake_useragent import UserAgent
ImportError: cannot import name 'UserAgent' from 'fake_useragent' (unknown location)
楼主这是什么意思?小白 law.liu 发表于 2021-7-8 15:11
File "C:\TMP\key.py", line 5, in
from fake_useragent import UserAgent
ImportError: cannot imp ...
导入错误,感觉是没有这个包,是不是你python版本不一样或者没有这个包 沙发,来一个。点赞 楼主,这个可以改成爬谷歌的吗? MinnieLui 发表于 2021-4-1 16:27
楼主,这个可以改成爬谷歌的吗?
调整下代码是可以的,这个要自己改了 好的,我试试看,谢谢楼主 有什么作用的 还没有学会,支持一个
学习,支持一个
页:
[1]
2