首页 > 其他分享 >第十周总结(2024.9.7)

第十周总结(2024.9.7)

时间:2024-09-02 09:15:34浏览次数:4  
标签:总结 xpath search author 第十 2024.9 title html book

保存文件时候会报错 “FileNotFoundError:No such file or directory”

Python 在保存文件时,如果路径下你要操作的文件不存在,它会自动创建一个文件,然后写入数据。

但是,如果是路径中的文件夹不存在,则不会自动创建,而是会报错上面那样的错误。只是你的路径中没有对应的文件夹而已,缺哪个文件夹,自己手动创建好,再运行就好啦。也可以用下列代码自己创建

import os
# 如果没有该文件夹,则自动生成
if not os.path.exists(path):
    os.makedirs(path)
爬取得到的HTML在一行显示

html = html.decode()

爬取当当网

import requests
from lxml import etree
import csv
 
# 请求URL
url = '<http://search.dangdang.com/?key=Python&act=input>'
# 请求头部
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.36'
}
 
# 解析页面函数
def parse_html(html):
selector = etree.HTML(html)
book_list = selector.xpath('//*[@id="search_nature_rg"]/ul/li')
for book in book_list:
title = book.xpath('a/@title')[0]
link = book.xpath('a/@href')[0]
price = book.xpath('p[@class="price"]/span[@class="search_now_price"]/text()')[0]
author = book.xpath('p[@class="search_book_author"]/span[1]/a/@title')[0]
publish_date = book.xpath('p[@class="search_book_author"]/span[2]/text()')[0]
publisher = book.xpath('p[@class="search_book_author"]/span[3]/a/@title')[0]
yield {
'书名': title,
'链接': link,
'价格': price,
'作者': author,
'出版日期': publish_date,
'出版社': publisher
}
 
# 保存数据函数
def save_data():
f = open('dangdang_books.csv', 'w', newline='', encoding='utf-8-sig')
writer = csv.writer(f)
writer.writerow(['书名', '链接', '价格', '作者', '出版日期', '出版社'])
response = requests.get(url, headers=headers)
for item in parse_html(response.text):
writer.writerow(item.values())
f.close()
 
if __name__ == '__main__':
save_data()

 

 

标签:总结,xpath,search,author,第十,2024.9,title,html,book
From: https://www.cnblogs.com/Sunyiran/p/18392128

相关文章

  • 第七周总结(2024.8.17)
    importrequestsimportre#请求URLurl='<http://www.zuihaodaxue.com/zuihaodaxuepaiming2019.html>'#请求头部headers={'User-Agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/58......
  • 第八周总结(2024.8.24)
    importtimefromseleniumimportwebdriverimportrequests#请求URLurl='<https://weibo.com/>'#请求头部headers={'User-Agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/58.0......
  • 第九周总结(2024.8.31)
    packagecom.java.hadoop.hive;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;importorg.apache.hadoop.hive.metastore.api......
  • 第五周总结(2024.8.3)
     本周学习python爬虫所出现的问题:1、设置请求头Headers的问题一般headers设置user-Agent即可,如果有的数据是登陆后才能看到的话,还需要添加cookies参数(先登陆账号后,在浏览器的开发者工具中,拷贝Cookies即可)。这些参数都可以在浏览器的开发者工具中找到。2、编码问题......
  • 第六周总结(2024.8.10)
    importrequestsfrombs4importBeautifulSoupimportcsv#请求URLurl='<https://movie.douban.com/top250>'#请求头部headers={'User-Agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)C......
  • Day12_0.1基础学习MATLAB学习小技巧总结(12)——程序流程控制3-switch结构
    利用空闲时间把碎片化的MATLAB知识重新系统的学习一遍,为了在这个过程中加深印象,也为了能够有所足迹,我会把自己的学习总结发在专栏中,以便学习交流。素材来源“数学建模清风”特此说明:本博客的内容只在于总结在使用matlab中的一些小技巧,并非教程,若想系统的学习MATLAB,也可以移步......
  • 2024.9.1杂记
    P1065[NOIP2006提高组]作业调度方案题目描述我们现在要利用\(m\)台机器加工\(n\)个工件,每个工件都有\(m\)道工序,每道工序都在不同的指定的机器上完成。每个工件的每道工序都有指定的加工时间。每个工件的每个工序称为一个操作,我们用记号j-k表示一个操作,其中\(j\)......
  • 在.NET后端开发的十年之旅:反思与总结
     开局 依稀记得那是2014年11月大四上学期,学校已经没有课了。看着同寝室的其他室友都出去实习了,而我一个人还坐在电脑前发呆。因为的不敢出去面试。由于小学时牙齿有一颗龅牙,从小就产生了自卑的心理,也让自己有了严重的社交恐惧,我开始不敢一个人买车票,甚至不敢自己去食堂吃饭。......
  • VBA数据库解决方案第十四讲:如何在数据库中动态删除和建立数据表
    《VBA数据库解决方案》教程(版权10090845)是我推出的第二套教程,目前已经是第二版修订了。这套教程定位于中级,是学完字典后的另一个专题讲解。数据库是数据处理的利器,教程中详细介绍了利用ADO连接ACCDB和EXCEL的方法和实例操作,教程第一版的修订内容主要是完成所有程序文件的32位和64......
  • 深入理解C++中的同步并发操作(c++ concurrency in action 第四章总结)
    深入理解C++中的同步并发操作(c++concurrencyinaction第四章总结)第四章详细介绍了C++中的各种并发工具,包括条件变量、std::future和std::async、带超时的wait、std::packaged_task和std::promise,以及如何使用这些工具来简化代码。本总结将依次介绍这些工具的用法......