python如何抓取标签<a href=javascript>
时间: 2023-03-30 15:00:28 浏览: 105
可以使用 Python 的 requests 和 BeautifulSoup 库来抓取标签<a href=javascript>。具体步骤如下:
1. 使用 requests 库发送 HTTP 请求,获取网页源代码。
2. 使用 BeautifulSoup 库解析网页源代码,找到需要抓取的标签。
3. 使用 BeautifulSoup 库提供的方法获取标签的属性值或文本内容。
示例代码如下:
```python
import requests
from bs4 import BeautifulSoup
# 发送 HTTP 请求,获取网页源代码
url = 'https://www.example.com'
response = requests.get(url)
html = response.text
# 解析网页源代码,找到需要抓取的标签
soup = BeautifulSoup(html, 'html.parser')
a_tags = soup.find_all('a', href='javascript')
# 获取标签的属性值或文本内容
for a_tag in a_tags:
print(a_tag['href'])
```
注意:在实际抓取过程中,可能需要添加一些请求头信息、处理网页编码等操作。
相关问题
<div class="box2"> <span class="prepage">上一页</span> <ul class="paging"> <li class="bluebg"><a href="javascript:;">1</a></li> <li class="anpther"><a href="javascript:;">2</a></li> <li class="anpther"><a href="javascript:;">3</a></li> </ul> <span class="nextpage">下一页</span> </div>点击上一页获取li中带有bluebg属性名的文本
可以使用以下代码获取:
```python
from bs4 import BeautifulSoup
html = '''<div class="box2">
<span class="prepage">上一页</span>
<ul class="paging">
<li class="bluebg"><a href="javascript:;">1</a></li>
<li class="anpther"><a href="javascript:;">2</a></li>
<li class="anpther"><a href="javascript:;">3</a></li>
</ul>
<span class="nextpage">下一页</span>
</div>'''
soup = BeautifulSoup(html, 'html.parser')
li_list = soup.find_all('li', {'class': 'bluebg'})
for li in li_list:
print(li.text.strip())
```
输出结果为:
```
1
```
用py写一段代码 <div class="page"><b>1</b><a href="/dongman/index_2.htm">2</a><a href="/dongman/index_3.htm">3</a><a href="/dongman/index_4.htm">4</a><a href="/dongman/index_5.htm">5</a><a href="/dongman/index_6.htm">6</a><a href="/dongman/index_7.htm">7</a><a href="/dongman/index_8.htm">8</a><span class="slh">…</span><a href="/dongman/index_116.htm">116</a><a href="/dongman/index_2.htm" class="prev">下一页></a></div> 这是我的思路 取所有htm|\"(.*?)</然后输出最大的数
你使用正则表达式来提取字符串中的数字找到其中的最大值。以下是Python实现的代码示例:
```
import re
html_string = '<div class="page"><b>1</><a href="/dongman/index_2.htm">2</a><a href="/dongman/index_3.htm">3</aa href="/dongman/index_4.htm">4</a><a href="/dongman/index_5.htm">5</a><a href="/dongman/index_6.htm">6</a><a href="/dongman/index_7.htm">7</a><a href="/dongman/index_8.htm">8</a><span class="slh">…</span><a href="/dongman/index_116.htm">116</a><a href="/dongman/index_2.htm" class="prev">下一页></a></div>'
numbers = re.findall(r'\d+', html_string)
max_number = max(map(int, numbers))
print(max_number)
```
这段代码会输出数字中的最大值,即116。它首先使用正则表达式`r'\d+'`匹配字符串中的所有数字,然后将这些数字转换为整数并找到其中的最大值,最后打印出来。