一、百度
代码:
import requests
from bs4 import BeautifulSoup
import re
import json
def getKeywordResult(keyword):
url = 'http://www.baidu.com/s?wd=' + keyword
try:
r = requests.get(url, timeout=30)
r.raise_for_status()
r.encoding = 'utf-8'
return r.text
except:
return ""
def parserLinks(html):
soup = BeautifulSoup(html, "html.parser")
links = []
for div in soup.find_all('div', {'data-tools': re.compile('title')}):
data = div.attrs['data-tools'] # 获得属性值
d = json.loads(data) # 将属性值转换成字典
links.append(d['title']) # 将返回链接的题目返回
return links
def main():
html = getKeywordResult('python')
ls = parserLinks(html)
count = 1
for i in ls:
print("[{:^3}]{}".format(count, i))
count += 1
main()
运行结果:
二、360
代码:
import requests
from bs4 import BeautifulSoup
import re
def getKeywordResult(keyword):
url = 'http://www.so.com/s?q=' + keyword
try:
r = requests.get(url, timeout=30)
r.raise_for_status()
r.encoding = 'utf-8'
return r.text
except:
return ""
def parserLinks(html):
soup = BeautifulSoup(html, "html.parser")
links = []
for h3 in soup.find_all('h3', {'class': re.compile('res-title')}):
links.append(h3.text.strip('\n'))
return links
def main():
html = getKeywordResult('python')
ls = parserLinks(html)
count = 1
for i in ls:
print("[{:^3}]{}".format(count, i))
count += 1
main()
运行结果: