今天小作业:自己构造一个页面或者取复制一个页面的源码放在一个自己命名的txt文件中,通过进行正则表达式匹配获取自己想要获取的东西,然后将获取到的东西写入到一个文件中,可以是txt、csv
时间: 2024-04-11 21:29:45 浏览: 7
你可以使用Python中的`requests`库来获取页面的源码,并使用正则表达式来匹配所需内容。以下是一个示例代码,用于获取网页源码并提取链接并将其写入到一个txt文件中:
```python
import requests
import re
# 发送GET请求获取网页源码
url = "https://example.com" # 替换为你想要获取的页面的URL
response = requests.get(url)
html_content = response.text
# 使用正则表达式匹配链接
pattern = r'<a\s+(?:[^>]*?\s+)?href="([^"]*)"'
links = re.findall(pattern, html_content)
# 将链接写入到txt文件中
output_file = "links.txt" # 替换为你想要保存链接的文件名
with open(output_file, "w") as file:
for link in links:
file.write(link + "\n")
```
你可以根据你的需求修改和扩展这个代码,以匹配和提取你想要的内容,并将其写入到指定的文件中。记得安装`requests`库和了解更多关于正则表达式的知识。祝你成功完成小作业!
相关问题
Python构造一个页面或者取复制一个页面的源码放在一个自己命名的txt文件中,通过进行正则表达式匹配获取自己想要获取的东西,然后将获取到的东西写入到一个文件中,可以是txt、csv
你可以使用Python的`requests`库来获取页面的源码,并使用正则表达式来匹配所需内容。以下是一个示例代码,用于获取网页源码并提取标题和链接,并将其写入到一个txt或csv文件中,你可以根据需要选择文件格式。
```python
import requests
import re
import csv
# 发送GET请求获取网页源码
url = "https://example.com" # 替换为你想要获取的页面的URL
response = requests.get(url)
html_content = response.text
# 使用正则表达式匹配标题和链接
title_pattern = r'<title>(.*?)</title>'
link_pattern = r'<a\s+(?:[^>]*?\s+)?href="([^"]*)"'
titles = re.findall(title_pattern, html_content)
links = re.findall(link_pattern, html_content)
# 将标题和链接写入到txt文件中
output_file = "output.txt" # 替换为你想要保存的文件名
with open(output_file, "w") as file:
for title, link in zip(titles, links):
file.write(f"标题:{title}\n链接:{link}\n\n")
# 将标题和链接写入到csv文件中
output_file_csv = "output.csv" # 替换为你想要保存的csv文件名
with open(output_file_csv, "w", newline="") as file:
writer = csv.writer(file)
writer.writerow(["标题", "链接"]) # 写入表头
for title, link in zip(titles, links):
writer.writerow([title, link])
```
这个示例代码中使用正则表达式匹配了页面中的标题和链接,并将它们写入到txt或csv文件中。你可以根据你的需要修改和扩展这个代码,以匹配和提取你想要的内容,并将其写入到指定的文件中。记得安装`requests`库和了解更多关于正则表达式和csv模块的知识。祝你成功完成任务!
python构造一个页面或者取复制一个页面的源码放在一个自己命名的txt文件中,通过进行正则表达式匹配获取自己想要获取的东西,然后将获取到的东西写入到一个文件中,可以是txt、csv
在Python中,您可以使用urllib或requests库来获取网页的源代码。然后,您可以使用正则表达式模块re来匹配和提取您想要获取的内容,并将其写入txt或csv文件中。
以下是一个示例代码,用于获取网页源码并匹配提取内容保存到文件中:
```python
import urllib.request
import re
# 获取网页源代码
url = "https://www.example.com" # 替换为您想要获取的网页URL
response = urllib.request.urlopen(url)
html = response.read().decode('utf-8')
# 使用正则表达式匹配和提取内容
pattern = r'<title>(.*?)</title>' # 替换为您想要匹配的正则表达式模式
matches = re.findall(pattern, html)
# 将提取到的内容写入文件
output_file = "output.txt" # 替换为您想要保存结果的文件名
with open(output_file, 'w') as file:
for match in matches:
file.write(match + '\n')
```
请注意,这只是一个示例代码,您需要根据您具体的需求进行修改和适应。在使用正则表达式时,确保您的模式正确并具有良好的匹配能力。此外,在实际开发中,您可能还需要处理异常、优化代码等。
如果您想将结果保存为csv文件,可以使用csv模块来实现。您需要将匹配到的内容以列表或字典的形式进行存储,并使用csv模块的writerow函数将其写入csv文件中。