微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用bmp和selenium抓取浏览器的请求和结果


from browsermobproxy import Server
from selenium import webdriver
import re
from bs4 import BeautifulSoup
from pprint import pprint
import time
import tkinter
from tkinter.scrolledtext import ScrolledText
server = Server(r"D:\browsermob-proxy-2.1.4\bin\browsermob-proxy.bat")
server.start()
proxy = server.create_proxy()



driver_path = r'C:\browser_driver\chromedriver.exe'
options = webdriver.ChromeOptions()
options.add_argument('--proxy-server={}'.format(proxy.proxy))
options.add_argument('--ignore-certificate-errors')
options.add_argument('--headless')
driver = webdriver.Chrome(driver_path,options=options)



proxy.new_har("yjy",options={'captureHeaders': True,'captureContent':True,'captureBinaryContent': True})
driver.get("https://www.jiucaigongshe.com/action/detail/93bb12242ad84abfb93d10eee7a9271d")
time.sleep(5)
result = proxy.har['log']['entries']
final = [i['response'] for i in result if 'https://app.jiucaigongshe.com/jystock-app/api/v1/article/detail' == i['request']['url'] and i['request']['method']=='POST']
data = eval(final[0]['content']['text'].replace('null','None'))
html = data['data']['content']
html = BeautifulSoup(html, features='html.parser')
artical = html.text
# pprint(artical)

#显示文本
top = tkinter.Tk()
top.title("韭菜公社")
top.geometry("700x800+10+20")
text = ScrolledText(top,width=100,height=80,padx=15,spacing1=5,spacing2=5,spacing3=5,font='宋体 12')
# text.configure()
text.insert('insert',artical)
text.pack(side=tkinter.LEFT)
top.mainloop()

tmp = input('按任意键继续')
server.stop()
driver.quit()

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐