python 打开和阅读urls

本文介绍如何利用Python的urllib库进行网页爬取,并通过设置User-Agent来模拟Chrome浏览器访问携程酒店页面,获取HTML内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import urllib #要伪装成的浏览器(我这个是用的chrome)

headers = ('User-Agent',

'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36')

url='http://hotels.ctrip.com/'

opener = urllib.request.build_opener()

#将要伪装成的浏览器添加到对应的http头部

opener.addheaders=[headers]

#读取相应的url

data = opener.open(url).read()

#将获得的html解码为utf-8

data=data.decode('utf-8') print(data)

 

转自https://my.oschina.net/u/2430721/blog/652086

### 使用Python批量打开网页并自动截图 为了实现批量打开网页并自动截图的功能,可以采用`selenium``Pillow`库的组合。这允许不仅能够控制浏览器行为,还可以处理图像操作。 #### 安装必要的库 首先安装所需的第三方库: ```bash pip install selenium pillow webdriver-manager ``` #### 导入所需模块 编写脚本前需导入相关模块,包括用于自动化浏览器操作的`selenium`以及辅助处理图像文件的`Pillow`: ```python from PIL import Image import os from selenium import webdriver from selenium.webdriver.chrome.service import Service as ChromeService from webdriver_manager.chrome import ChromeDriverManager import time ``` #### 设置Chrome选项服务 配置Chrome WebDriver以便于无头模式运行(即不显示GUI界面),这对于服务器环境特别有用;同时设置窗口大小以确保截图质量一致[^3]: ```python chrome_options = webdriver.ChromeOptions() chrome_options.add_argument("--headless") # 启用无头模式 chrome_options.add_argument('--window-size=1920,1080') # 设定固定的窗口尺寸 service = ChromeService(executable_path=ChromeDriverManager().install()) driver = webdriver.Chrome(service=service, options=chrome_options) ``` #### 实现批量打开网页与截图功能 定义一个函数来遍历URL列表,并依次加载页面完成全屏截图保存至本地磁盘中[^4]: ```python def batch_open_and_screenshot(urls, output_dir="./screenshots"): if not os.path.exists(output_dir): os.makedirs(output_dir) for index, url in enumerate(urls, start=1): try: driver.get(url) time.sleep(2) # 等待页面完全加载 screenshot_file = f"{output_dir}/screenshot_{index}.png" driver.save_screenshot(screenshot_file) print(f"已成功抓取 {url} 的屏幕快照 -> {screenshot_file}") except Exception as e: print(f"无法获取 {url}: ", str(e)) driver.quit() urls_to_visit = [ "https://www.example1.com", "https://www.example2.com", "https://www.example3.com" ] batch_open_and_screenshot(urls_to_visit) ``` 此代码片段展示了如何利用Python结合Selenium驱动器批量访问网站并将它们的内容作为图片形式存储下来。注意,在实际应用过程中可能还需要考虑更多细节问题,比如异常情况下的重试机制、更复杂的页面交互逻辑等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值