python爬虫正则表达式爬取12306出行指南网页数据
时间: 2024-03-12 11:41:34 浏览: 100
要使用Python爬虫和正则表达式爬取12306出行指南网页数据,首先需要了解目标网页的结构和数据格式。然后,可以使用requests库获取网页内容,再使用re库进行正则表达式匹配,提取所需数据。
以下是一个简单的示例:
1. 安装所需库:
```bash
pip install requests
```
2. 编写代码:
```python
import requests
import re
# 请求目标网页
url = 'https://www.12306.cn/mormhweb/kyyyz/'
response = requests.get(url)
response.encoding = 'utf-8'
html_content = response.text
# 使用正则表达式匹配所需数据
pattern = re.compile('<div class="swiper-slide">(.*?)</div>', re.S)
result = pattern.findall(html_content)
# 输出结果
for item in result:
print(item)
```
注意:以上代码仅作为示例,实际使用时需要根据目标网页的具体结构和数据格式进行调整。同时,爬虫可能会对网站造成压力,请合理使用。
相关问题
python爬虫正则表达式爬取网页数据
Python爬虫正则表达式爬取网页数据的方法如下:
1. 首先,需要导入所需的库:`requests`用于发送HTTP请求,`re`用于处理正则表达式。
```python
import requests
import re
```
2. 使用`requests.get()`方法获取网页内容。
```python
url = '目标网址'
response = requests.get(url)
content = response.text
```
3. 使用正则表达式提取所需数据。例如,提取所有的链接:
```python
pattern = r'<a href="(.*?)">'
links = re.findall(pattern, content)
```
4. 遍历并打印提取到的数据。
```python
for link in links:
print(link)
```
将以上代码整合在一起:
```python
import requests
import re
url = '目标网址'
response = requests.get(url)
content = response.text
pattern = r'<a href="(.*?)">'
links = re.findall(pattern, content)
for link in links:
print(link)
```
请将`目标网址`替换为实际要爬取的网址。
运用正则表达式爬取携程旅行网上的数据
爬取携程旅行网上的数据需要先分析网页结构,然后使用正则表达式来匹配所需数据。以下是一个简单的示例,可以爬取携程旅行网上的机票价格信息:
```python
import re
import requests
url = "https://flights.ctrip.com/itinerary/oneway/sha-pek?date=2021-11-01"
response = requests.get(url)
html = response.text
pattern = r'"price":"(\d+)"'
matches = re.findall(pattern, html)
print(matches)
```
这段代码会发送一个请求到携程旅行网上查询从上海到北京的机票价格,然后使用正则表达式来匹配价格信息,并输出所有匹配到的价格。当然,实际爬取数据时还需要考虑反爬虫机制和数据清洗等问题。
阅读全文