python获取href
A. python怎样获取XPath下的A标签的内容
1、在浏览器中打开网页。然后//div,就可以找到页面中的所有div了,因为//表示的是任意目录下查找。如图,页面有两个div,所以可以找到两个。
6、斜杠/表示的是获取子元素,比如div下面有两个子元素p,那么//div[2]/p获取的就是第二个div的子元素p。
B. python 正则如何抓取 <a></a> 中 href 属性和标签里的内容
importre
pattern='<a.*?href="(.+)".*?>(.*?)</a>'
withopen("test.html","r")asfp:
forlineinfp:
ret=re.search(pattern,line)
ifret:
forxinret.groups():printx
不知道具体格式是怎样的,我这里也就简单举个例子。
groups获取到的就是正则pattern里面( )中的内容,以元组形式返回。
C. 用python selenium提取网页中的所有<a>标签中的超级链接地址
提取所有链接应该用循环:
urls=driver.find_elements_by_xpath("//a")
forurlinurls:
print(url.get_attribute("href"))
如果get_attribute方法报错应该是没有找到a标签对象,如果确定是有的话,可能是页面加载比较慢还没加载出来,selenium默认是不会等待对象出现的,需要在找对象前加一些等待时间;另外如果页面上有iframe的话需要先切换进去才能找到里面的对象。
D. 如何获取href标签中的内容 python
# -*- coding: utf-8 -*-
from bs4 import BeautifulSoup
html='''<dict>
<key>LogType</key>
<string>Default</string>
<key>Message</key>
<string>测试场景:订餐提交页面</string>
<string>Loop in : 2 rTime:0.266s</string>
<key>Timestamp</key>
<date>2014-06-06T12:16:24Z</date>
<key>Type</key>
<integer>1</integer>
</dict>'''
soup= BeautifulSoup(html)
trs=soup.findAll("string")
length=len(trs)
arr=[]
for i in range(length):
print trs[i].contents
需要安装BeautifulSoup,代码很容易懂的!
E. python怎么获取div下的ul下的li下的a里href的内容
利用request获取网页内容;
利用BeautifulSoup处理并获取节点信息。
Python代码
若没有上述两个模块就用pip等工具安装到python库中
F. 如何用python抓取这个网页的内容
如果包含动态内容可以考虑使用Selenium浏览器自动化测试框架,当然找人有偿服务也可以
G. python BeautifulSoup 取class中的href怎么写
它就是当前节点的一个属性,content["href"]
H. python 如何获取url信息
importweb
defmake_text(string):
returnstring
urls=('/','tutorial')
render=web.template.render('templates/')
app=web.application(urls,globals())
my_form=web.form.Form(
web.form.Textbox('',class_='textfield',id='textfield'),
)
classtutorial:
defGET(self):
form=my_form()
returnrender.tutorial(form,"Yourtextgoeshere.")
defPOST(self):
form=my_form()
form.validates()
s=form.value['textfield']
returnmake_text(s)
if__name__=='__main__':
app.run()
I. python怎么获取动态网页链接
四中方法:
'''
得到当前页面所有连接
'''
import requests
import re
from bs4 import BeautifulSoup
from lxml import etree
from selenium import webdriver
url = 'http://www.ok226.com'
r = requests.get(url)
r.encoding = 'gb2312'
# 利用 re
matchs = re.findall(r"(?<=href=\").+?(?=\")|(?<=href=\').+?(?=\')" , r.text)
for link in matchs:
print(link)
print()
# 利用 BeautifulSoup4 (DOM树)
soup = BeautifulSoup(r.text,'lxml')
for a in soup.find_all('a'):
link = a['href']
print(link)
print()
# 利用 lxml.etree (XPath)
tree = etree.HTML(r.text)
for link in tree.xpath("//@href"):
print(link)
print()
# 利用selenium(要开浏览器!)
driver = webdriver.Firefox()
driver.get(url)
for link in driver.find_elements_by_tag_name("a"):
print(link.get_attribute("href"))
driver.close()
J. python 用自定义函数获取所有超链接
用正则匹配
importre
html='''<h3>contactus</h3>
<p>contact:managerwang</p>
<p>telephone:12345666</p>
<divid="nav">
<ul>
<li><aclass="nav-first"href="/">homepage</a></li>
<li><ahref="/lista.php">111</a></li>
<li><ahref="/lista.php">222</a></li>
<li><ahref="/order/setorder.php">333</a></li>
<li><ahref="/what/cool/ista.php">444</a></li>
</ul>
</div>'''
urls=re.findall('href=.*?>',html)#正则出a链接href
urlList=[]#定义urlList
forurlinurls:
url=url.replace("href="",'')#替换href="
urlList.append(url[:-2])#获取的0到-2长度的字符串
print(urlList)
输出:
['/','/lista.php','/lista.php','/order/setorder.php','/what/cool/ista.php']