使用集成开发环境PyCharm,并下载爬虫需要的库:
- 网络请求库,用于发送 HTTP 请求和获取响应,如 requests、urllib、pycurl 等。
- 解析库,用于分析和提取网页中的数据,如 BeautifulSoup、lxml、PyQuery 等。
- 数据存储库,用于将爬取的数据存储到本地或远程数据库中,如 pymysql、pymongo、redisdump 等。
- 爬虫框架,用于提供爬虫的基本结构和功能,如 Scrapy、Scrapy-Redis、Selenium 等。
下载方法:文件-->设置-->Python解析器 点击+号搜索下载:
# 需求:获取百度首页的html代码 # 步骤: # 1. 导入urllib.request模块 # 2. 调用urlopen函数,传入URL地址,获取网页内容 # 3. 打印网页内容 # 4. 运行程序,查看结果
from urllib.request import urlopen
# 定义了一个变量url,并将其赋值为字符
url = 'http://www.baidu.com'
# 使用urlopen函数打开指定的URL(即百度网站),然后调用.read()方法读取网页的内容。读取的内容被赋值给变量html。
html = urlopen(url).read()
# 打印内容
print(html)
效果:
成功获取到HTML代码,但出现中文乱码,添加字符编码:
from urllib.request import urlopen
# 定义了一个变量url,并将其赋值为字符
url = 'http://www.baidu.com'
# 使用urlopen函数打开指定的URL(即百度网站),然后调用.read()方法读取网页的内容。读取的内容被赋值给变量html。
html = urlopen(url).read().decode('utf-8')
# 打印内容
print(html)
成功j解决中文乱码问题:
将html内容写入文件baidu.html中:
from urllib.request import urlopen
# 定义了一个变量url,并将其赋值为字符
url = 'http://www.baidu.com'
# 使用urlopen函数打开指定的URL(即百度网站),然后调用.read()方法读取网页的内容。读取的内容被赋值给变量html。
html = urlopen(url).read().decode('utf-8')
# 将html内容写入文件baidu.html中
with open('baidu.html', 'w', encoding='utf-8') as f:
f.write(html)
print("获取html成功")
baidu.html文件内容:
baidu.html运行结果:获取成功!