Python 爬虫 beautifulsoup4 基础
pycharm、python环境搭建好后
装载html文档,使用beautifulsoup的第一步是把html文档装载到beautifulsoup中,使其形成一个beautifulsoup对象。
import requests
from bs4 import BeautifulSoup
url = "xxxx"
r = requests.get(url)
htmls = r.text
#print(htmls)
soup = BeautifulSoup(htmls, 'html.parser')
初始化BeautifulSoup类时,需要加入两个参数,第一个参数即是我们爬到html源码,第二个参数是html解析器,常用的有三个解析器,分别是”html.parser”,”lxml”,”html5lib”,官网推荐用lxml,因为效率高,当然需要pip install lxml一下。
例子
html对象:
uls='''
<h3>Header3 (Start here)</h3>
<ul>
<li>List items</li>
<li>Etc...</li>
</ul>
<h3>Header 3</h3>
<ul>
<li>List items</li>
<ul>
<li>Nested list items</li>
<li>Nested list items</li></ul>
<li>List items</li>
</ul>
<h2>Header 2 (end here)</h2>
lis = []
for ul in uls:
for li in ul.findAll('li'):
if li.find('ul'):
break
lis.append(li)
for li in lis:
print(li.text)
#print(li.text.encode("utf-8"))
https://www.jb51.net/article/156907.htm
https://blog.csdn.net/huxiny/article/details/79679066
百度图片爬虫:
https://blog.csdn.net/qq_40774175/article/details/81273198
Python代码报错 FileExistsError: [WinError 183] 当文件已存在时,无法创建该文件。
检查路劲是否有中文,有则换成英文或数字
https://zhidao.baidu.com/question/1309336445243832299.html
Python 读取和输出到 txt 文件
with open("test.txt", "r",encoding='UTF-8') as f: # 打开文件
data = f.read() # 读取文件
print(data)
读入这种文件时:
test.txt
樱之宫莓香
轰焦冻
鬼灯
和泉守兼定
str=[]
with open("test.txt", "r",encoding='UTF-8') as f: # 打开文件
data = f.readlines()
for line in data:
line = line.strip('\n') # 去掉列表中每一个元素的换行符
str.append(line)
print(str)
参考:
https://blog.csdn.net/zhang__shuang_/article/details/82527314
Python读取文件时出现UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position xx: 解决方案:
https://blog.csdn.net/zhang__shuang_/article/details/82527314
①:Python 正则表达式 re 中出现'str' object has no attribute 'findall'
②:出现TypeError: 'list' object is not callable异常的情况与解决方法
python递归遍历目录和子目录下的所有文件,并将文件目录存入列表
import os
def get_file(root_path,all_files=[]):
'''
递归函数,遍历该文档目录和子目录下的所有文件,获取其path
'''
files = os.listdir(root_path)
for file in files:
if not os.path.isdir(root_path + '/' + file): # not a dir
all_files.append(root_path + '/' + file)
else: # is a dir
get_file((root_path+'/'+file),all_files)
return all_files
# example
path = './raw_data'
print(get_file(path))
https://blog.csdn.net/weixin_39858881/article/details/86543689
Python中复制文件的两种简单方式
方法一:借助操作系统中本身的拷贝命令
import os
os.system("xcopy C:\\1.txt D:")
方法二:借助shutil模块来完成拷贝操作
import shutil
shutil.copyfile('C:\\1.txt', 'D:\\1.txt')