Python从0到100(三十四):Python中的urllib模块使用指南

在这里插入图片描述

1. urllib模块概述

在Python中,除了广泛使用的requests模块之外,urllib模块也是处理HTTP请求的重要工具。urllib模块在Python 2中分为urlliburllib2两个模块,而在Python 3中,它们被合并为一个urllib模块。本文将重点介绍Python 3中的urllib模块及其使用方法。

2. urllib模块的基本方法介绍

2.1 urllib.request.urlopen

urllib.request.urlopen方法用于发送GET请求,并获取响应。这是一个简单直接的方法,适用于获取网页内容。

import urllib.request

# 构造请求并获取响应
response = urllib.request.urlopen("http://www.baidu.com")

# 打印响应内容
print(response.read().decode('utf-8'))

2.2 urllib.request.Request

urllib.request.Request方法用于构造更复杂的请求,如自定义headers或发送POST请求。

2.2.1 构造简单请求
import urllib.request

# 构造请求对象
request = urllib.request.Request("http://www.baidu.com")

# 发送请求并获取响应
response = urllib.request.urlopen(request)

# 打印响应内容
print(response.read().decode('utf-8'))
2.2.2 传入headers参数

通过自定义headers,可以模拟浏览器行为,避免被服务器识别为爬虫。

import urllib.request

# 构造自定义headers
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"
}

# 构造请求对象,传入headers
request = urllib.request.Request("http://www.baidu.com", headers=headers)

# 发送请求并获取响应
response = urllib.request.urlopen(request)

# 打印响应内容
print(response.read().decode('utf-8'))
2.2.3 传入data参数

发送POST请求通常需要传递数据,urllib模块可以通过data参数实现。

import urllib.request
import urllib.parse

# 构造自定义headers
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"
}

# 构造请求数据字典
data = {
    "email": "mr_mao_hacker@163.com",
    "password": "alarmchime"
}

# 对请求数据字典编码为bytes类型
data = urllib.parse.urlencode(data).encode('utf-8')

# 构造请求对象,传入url、data和headers
request = urllib.request.Request('http://www.renren.com/PLogin.do', data=data, headers=headers)

# 发送请求并获取响应
resp = urllib.request.urlopen(request)

# 打印响应内容
print(resp.read().decode('utf-8'))

2.3 response.read()

response.read()方法用于获取服务器响应的内容。响应内容通常是以bytes形式存在,可以通过decode()方法转换为字符串。

import urllib.request

# 构造请求对象
request = urllib.request.Request("http://www.baidu.com")

# 发送请求并获取响应
response = urllib.request.urlopen(request)

# 打印响应内容,bytes类型
print(response.read())

# 打印响应内容,转换为str类型
print(response.read().decode('utf-8'))

3. 总结

urllib模块是Python标准库中处理HTTP请求的重要组件。通过urllib.request子模块,我们可以构造各种HTTP请求,包括GET和POST,并能够自定义headers和发送数据。掌握urllib模块的使用,对于进行网络编程和数据爬取具有重要意义。

好书推荐

《AI商业广告设计实战108招:ChatGPT+Photoshop+Firefly+Midjourney》
在这里插入图片描述
《AI商业广告设计实战108招:ChatGPT Photoshop Firefly Midjourney》通过15个专题内容、108个实用技巧、160多分钟教学视频,讲解了运用ChatGPT Photoshop Firefly Midjourney进行AI商业广告设计的操作方法。具体内容按以下两条线展开。
一是技能线:详细讲解了ChatGPT、Photoshop、Firefly、Midjourney的使用方法,包括生成AI商业广告关键词、色调处理、修饰与润色、AI一键抠图 生图、通过关键词描述生成广告图像以及Midjourney的AI广告绘画技巧等。
二是案例线:详细介绍了企业Logo、模特服装、宣传海报、杂志广告、节日活动、电商广告、网页主图、商业插画、产品造型以及产品包装这10类常见商业广告设计的操作流程,帮助读者更好地掌握AI商业广告设计的关键词提炼、图像生成技巧与后期处理应用等。
随书附赠了108集同步教学视频、190多个素材效果、15 000多个AI绘画关键词等。
本书由浅入深,以实战为核心,适合以下人群阅读:一是AI商业广告设计师、平面设计师;二是网店商家、店铺美工人员、电商相关从业者;三是文案工作者、自媒体带货达人、艺术工作者等;四是相关培训机构、职业院校的教师和学生。
购买链接:https://product.dangdang.com/29723005.html

编辑推荐

高效绘图! 15章核心内容,一次性掌握ChatGPT+Photoshop+Firefly Midjourney,实现AI广告一键生成! 实战案例! 190多个素材效果+108招干货技巧+15000多个绘画关键词,实操实练,秒变AI商业广告设计高手! 视频教学! 赠送108集教学视频,扫描二维码可随时随地全程查看操作过程,让学习更轻松!

内容简介

《AI商业广告设计实战108招:ChatGPT Photoshop Firefly Midjourney》通过15个专题内容、108个实用技巧、160多分钟教学视频,讲解了运用ChatGPT Photoshop Firefly Midjourney进行AI商业广告设计的操作方法。具体内容按以下两条线展开。
一是技能线:详细讲解了ChatGPT、Photoshop、Firefly、Midjourney的使用方法,包括生成AI商业广告关键词、色调处理、修饰与润色、AI一键抠图 生图、通过关键词描述生成广告图像以及Midjourney的AI广告绘画技巧等。
二是案例线:详细介绍了企业Logo、模特服装、宣传海报、杂志广告、节日活动、电商广告、网页主图、商业插画、产品造型以及产品包装这10类常见商业广告设计的操作流程,帮助读者更好地掌握AI商业广告设计的关键词提炼、图像生成技巧与后期处理应用等。
随书附赠了108集同步教学视频、190多个素材效果、15 000多个AI绘画关键词等。
本书由浅入深,以实战为核心,适合以下人群阅读:一是AI商业广告设计师、平面设计师;二是网店商家、店铺美工人员、电商相关从业者;三是文案工作者、自媒体带货达人、艺术工作者等;四是相关培训机构、职业院校的教师和学生。

作者简介

石头,零点画室创始人,资深摄影师,省级摄影家协会会员,毕业于湖南工艺美术学院,参与过《蓝猫总动员》的创作,2022年远赴日本、美国学习AI绘画技术,对Midjourney、Stable Diffusion有着丰富的实战经验,尤喜动漫风、中国风效果的绘制。

目  录

第1章ChatGPT:快速生成广告文案001
11 掌握ChatGPT的提问技巧002
001 使用ChatGPT快速生成广告文案 002
002 在关键词中指定具体的数字 003
003 掌握ChatGPT正确的提问技巧 004
004 让ChatGPT的文案变得更生动 006
005 给ChatGPT定义身份 007
12 快速生成AI商业广告关键词009
006 通过直接提问获取关键词 009
007 通过多次对话获取关键词 011
008 通过表格整理关键词内容 013
13 生成6类常见的商业广告文案015
009 使用ChatGPT写作产品推广文案 015
010 使用ChatGPT策划电视广告文案 017

前  言

在数字化和信息化时代,商业广告的重要性不言而喻,它不仅仅是产品或服务的宣传方式,更是品牌传达、社会影响和商业成功的关键因素。在这个背景下,人工智能(AI)已经成为广告设计领域的一股强大力量,为创意工作者和企业提供了无限的可能性,鼓励设计师借助AI工具创造更多新颖的商业广告作品。
目前,ChatGPT、Photoshop、Firefly和Midjourney是比较热门的四大AI商业广告设计软件,它们可以自动生成文案、图片,并进行广告的后期处理。然而,市场上关于ChatGPT、Photoshop、Firefly和Midjourney联合使用的资源和书籍还未出现。秉持科技兴邦、实干兴邦的精神,我们致力于为读者提供一种全新的学习方式,使其能够更好地适应时代发展的需要。
本书以ChatGPT、Photoshop、Firefly为核心进行AI商业广告设计的讲解,是一本案例+技能的全方位教材,同时对Midjourney的AI绘图技术进行了深入讲解。Midjourney也是目前比较热门和流行的AI绘图工具之一,能够帮助艺术家和设计师更快速、更轻松地创建数字艺术作品,并且生成的图像质量非常好。
在编写本书的过程中,我们深入研究了最新的技术及其发展趋势,涵盖了商业广告行业的多个领域,包括Logo设计、服装设计、宣传海报设计、杂志广告设计、节日活动设计、电商广告设计、网页主图设计、商业插画设计、产品造型设计以及产品包装设计等,通过利用AI技术,让商业广告设计变得更加简单、高效,让读者学习的时候更轻松、更容易上手。
综合来看,本书有以下3个亮点。
(1)实战干货。本书提供了108个实用的技巧和实例,涵盖了AI文案、AI绘图、AI广告图片生成以及AI后期处理等各个方面的内容。这些实战干货可以帮助读者快速掌握AI商业广告设计的核心技能,并将其应用到实际的生活和工作场景中。同时,本书还针对每个技巧进行了详细的说明和示例展示,并辅以590多张彩色插图讲解实例操作过程,以便读者更好地理解和应用所学知识。
(2)优中择优。本书选取了企业Logo、模特服装、宣传海报、杂志广告、节日活动、电商广告、网页主图、商业插画、产品造型以及产品包装这10个类别来介绍AI商业广告的设计方法,且每一个案例都提供提问思路和实操技巧,可让读者有选择性、有针对性地高效学习。
(3)物超所值。本书详细介绍了4款AI商业广告设计软件,分别为ChatGPT、PS、Firefly和Midjourney,读者购买1本书,可以同时学习4款软件的精华,并且随书赠送了190多个素材、效果文件和15 000多个AI绘画关键词,方便读者实战操作练习,提高自己的绘图效率。
本书内容高度凝练,由浅入深,以实战为核心,无论你是初学者还是有一定经验的老手,都希望这本书能够给予你一定的帮助。
特别提示:本书在编写时,插图是基于当时的软件界面截取的实际操作图片,但书从编辑到出版需要一段时间,在此期间,这些软件的功能和界面可能会有变动,请在阅读时,根据书中的思路,举一反三地进行学习。
特别提醒:尽管ChatGPT具备强大的模拟人类对话的能力,但由于其是基于机器学习的模型,因此在生成的文案中仍然会存在一些语法错误,读者需根据自身需求对文案进行适当修改或再加工后方可使用。
还需要注意的是,即使是相同的关键词,AI生成的效果也会有差别,因此在扫码观看教程视频时,读者应把更多的精力放在关键词的编写和实操步骤上。
本书使用的软件版本:ChatGPT为3.5版,Midjourney为5.2版,Photoshop为2024版,Firefly为Beta版。
本书由石头编著,参与编写的人员还有胡杨、苏高等人,在此表示感谢。由于作者知识水平有限,书中难免存在疏漏之处,恳请广大读者批评、指正。

在这里插入图片描述

  • 52
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 23
    评论
首先需要了解得物网站的数据结构和爬取方式,得物网站比较复杂,需要使用Selenium+BeautifulSoup进行爬取。 以下是一个简单的得物爬虫Python代码实现(注:仅供学习参考,请勿用于商业用途): ```python import time from selenium import webdriver from selenium.webdriver.chrome.options import Options from bs4 import BeautifulSoup options = Options() options.add_argument('--no-sandbox') # 解决DevToolsActivePort文件不存在报错的问题 options.add_argument('window-size=1920x3000') # 指定浏览器分辨率 options.add_argument('--disable-gpu') # 谷歌文档提到需要加上这个属性来规避bug options.add_argument('--hide-scrollbars') # 隐藏滚动条, 应对一些特殊页面 options.add_argument('blink-settings=imagesEnabled=false') # 不加载图片, 提升速度 options.add_argument('--headless') # 无界面 driver = webdriver.Chrome(options=options) url = 'https://www.dewu.com/' driver.get(url) # 等待页面加载完成 time.sleep(3) # 模拟鼠标点击,展开商品列表 driver.find_element_by_xpath('//div[text()="全部商品"]').click() # 等待页面加载完成 time.sleep(3) # 获取页面源代码 html = driver.page_source # 解析页面 soup = BeautifulSoup(html, 'html.parser') # 获取商品列表 items = soup.find_all('div', {'class': 'item-card'}) for item in items: # 获取商品标题 title = item.find('div', {'class': 'title'}).text.strip() # 获取商品价格 price = item.find('div', {'class': 'price'}).text.strip() # 获取商品链接 link = item.find('a', {'class': 'item-link'})['href'] print(title, price, link) # 关闭浏览器 driver.quit() ``` 这里的代码仅仅是一个简单的爬虫示例,如果想要更加深入地了解得物网站的数据结构和爬取方式,需要结合具体的需求进行更加详细的分析和实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是Dream呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值