python页面交互

目录

Requests:Http请求

模拟浏览器自动交互+获取页面信息

Requests:Http请求

#发出request请求,用于设置请求中的cookies保持某个参数

sessions = requests.session()

response = sessions.get(mainurl,  headers=headers)#服务器返回所响应的页面

response =sessions.post(response.url,headers = headers,data=databody)#session保持cookies登录信息。向所响应的页面传输数据获得新页面

           print(response.text)#获取页面的内容

模拟浏览器自动交互+获取页面信息

#所使用模块:DesiredCapabilities,webdriver,IEDriverServer.exe/chromedriver.exe

from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

from selenium import webdriver

DesiredCapabilities.INTERNETEXPLORER['ignoreProtectedModeSettings'] = True#设置IE自动化保护机制

browserpath='..\\IEDriverServer.exe'#所调用IE的地址

driver=webdriver.Ie(executable_path =browserpath)

driver.get('')#填入网址

#获取页面元素内容:

#参考网址:https://selenium-pythonzh.readthedocs.io/en/latest/locating-elements.html

username=driver.find_element_by_id('user')#获取第一个id=user的元素

username.send_keys(12345678)#向id=user的元素填入值12345678

button=driver.find_element_by_id('btnlogin').click()#点击id=btnlogin的按钮

element=driver.find_element_by_tag_name('h1')#查找第一个h1元素

content = driver.find_element_by_class_name('content')#查找第一个class=content的元素

content1 = driver.find_element_by_css_selector('p.content')#查找第一个class=content的p元素

test = driver.find_element_by_xpath("//form[@id='loginForm']/input[1]")#id为 loginForm 的form元素的第一个input子元素

#当element变成elements时查找所有的,将会返回一个列表

'''

使用chrom

driver=webdriver.Chrome(executable_path =browserpath)

请注意当chrom浏览器与所下载的chromdriver版本不符将会导致闪退

'''

例子:

from selenium import webdriver

driver=webdriver.Chrome(executable_path =r'..\chromedriver.exe')
driver.get(r'https://www.runoob.com/python3/python-requests.html')

inputText=driver.find_element_by_id('s')
theText=driver.find_elements_by_xpath("//table[@class='reference']/tbody")
theclass=driver.find_element_by_class_name('example')
thecss=driver.find_element_by_css_selector('h2.example')
#.text可获得元素的值
print("the idText is:"+inputText.text)#空
print("The cssText is:"+thecss.text)#
print("The css is:"+str(thecss))#
print("The classText is:"+theclass.text)
for x in theText:
    print("The xpathText is:")
    print(x.text)

结果:


 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Python爬虫的交互可以通过多线程和Selenium来实现。使用多线程可以提高爬虫的效率,因为爬虫大部分时间都花在网络交互上,通过多线程可以同时发起多个网络请求。而Selenium是一个强大的工具,它可以模拟用户在浏览器中的真实操作,例如输入内容、点击按钮、执行脚本等。 下面是一个示例代码,演示了如何使用Selenium进行自动化操作。首先,我们需要导入Selenium库和一些必要的模块。然后,我们需要创建一个浏览器对象,这里使用Chrome浏览器作为示例。接着,我们打开百度搜索页面,并输入关键词"周杰伦"。然后,我们可以进行一系列操作,如滑动页面到最底部、点击下一页等。最后,我们关闭浏览器。 ```python from selenium import webdriver from selenium.webdriver.common.by import By import time path = 'chromedriver.exe' browser = webdriver.Chrome(path) url = 'https://www.baidu.com' browser.get(url) time.sleep(2) input_ = browser.find_element(By.ID, 'kw') input_.send_keys('周杰伦') time.sleep(2) button = browser.find_element(By.ID, 'su') button.click() time.sleep(2) js_bottom = 'document.documentElement.scrollTop=100000' browser.execute_script(js_bottom) time.sleep(2) next_page = browser.find_element(By.CLASS_NAME, 'n') next_page.click() browser.back() time.sleep(2) browser.forward() time.sleep(2) browser.quit() ``` 这段代码实现了自动打开百度搜索,输入关键词"周杰伦",滑动页面到最底部,点击下一页,返回上一页面,前进到下一页面,最后关闭浏览器。通过这些操作,可以实现Python爬虫的交互
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值