scrpy学习-02

新浪微博

[Scrapy 教程] 3. 利用 scrapy 爬取网站中的详细信息 - YouTube

def parse(self,response):

soup BeautifulSoup(response.body,'html.parser')

tags soup.find_all('a',href=re.compile(r"sina.*\d{4}-\d{2}-\d{2}.*shtmls"))#匹配日期,

for tag in tags:

url tag.get('href')

yield scrapy.Request(url,callback=self.parse_details) #迭代对象

def extract_title(self,soup):

selectors =['h1.main-title']

for selector in selectors:

if len(soup.select(selector))!=0:#判断你不等于零

title soup.select(selector)[0].text #选择器,取出文本

return title

python与数据库链接

(6条消息) pymysql详解(connect连接、游标cursor、获取查询结果集、获取实时数据、解决查询数据为历史数据问题、insert into需要注意的地方)_pymysql.connect_XC_SunnyBoy的博客-CSDN博客

这是一个连接到本地MySQL数据库服务器的命令,其中:

  • -h127.0.0.1指定要连接的主机名或IP地址,这里使用本地主机(localhost)的IP地址127.0.0.1。

  • -uroot指定要用哪个MySQL用户进行连接,这里使用root用户进行连接。

  • -p123456指定连接时使用的密码,这里使用123456作为root用户的密码。

整个命令的意思是使用root用户和密码123456连接到本地MySQL服务器。如果连接成功,将打开MySQL客户端命令行界面,可以在其中执行各种MySQL命令和查询。

#创建对象
db = pymysql.connect(host='localhost',
user='root',
password='@hdp020820',
database='maoyandb',
                    )

pymysql.err.OperationalError: (1049, "Unknown database 'maoyandb'")

CREATE TABLE movieinfo (
  name VARCHAR(255),
  actor VARCHAR(255),
  release_date DATE
);

import pymysql

导出数据库

#创建对象
self.db = pymysql.connect(host='localhost',
user='root',
password='@hdp020820',
database='maoyandb',
                    )


cursor = db.cursor()
# sql语句执性,单行插入
info_list = ['刺杀,小说家','雷佳音,杨幂','2021-2-12']
sql = 'insert into filmtab values(%s,%s,%s)'
#列表传参
cursor.execute(sql,info_list)
db.commit()
# 关闭
cursor.close()
db.close()

导入包的问题

一直识别不赖哦

Traceback (most recent call last):
  File "C:\Users\韩东平\OneDrive\桌面\spider2017\spider2017\spiders\douban.py", line 3, in <module>
    from ..items import MovieItem
ImportError: attempted relative import with no known parent package
进程已结束,退出代码1

安装问题

(6条消息) Scrapy中的items导入问题解决!本地包导入不了怎么办?看这里!_OnTheOurWay的博客-CSDN博客

(6条消息) Python_Scrapy安装问题及解决_使用pip命令安装后在pycharm仍不能导入_Urila的博客-C

SDN博客

在一个package中,同级使用 . 在父级使用 ..

报错关键词
相对导入(relative import):报错模块(模块,区别于脚本不直接作为主程序运行,是一系列对象定义的集合)存在使用相对导入的包内模块调用关系,也即其中存在以 .(平级目录)或..(父级目录)起头的import语句。例如,from .<subpackage|module> import <subpackage|module|func> 表示从报错模块平级目录的包或模块中调用嵌套的包或模块或函数。
包(package):利用文件夹组织的模块的集合,一般通过在各层级文件夹中放置 __init__.py指示当前文件夹为一个包。
无法识别的包文件(no known parent package):当前 Python 解释器运行路径(python path/to/main.py 中 python 命令的执行位置)无法查找到当前执行脚本引用的包含相对导入的模块的最小包结构。

日志

这是一段 Scrapy 爬虫的日志,记录了运行过程中的一些信息。以下是日志的翻译:

  • INFO: Scrapy 2.8.0 started (bot: douban):Scrapy 2.8.0版本的爬虫开始运行,bot名称为douban。

  • INFO: Versions: lxml 4.9.2.0, libxml2 2.9.12, cssselect 1.2.0, parsel 1.7.0, w3lib 2.1.1, Twisted 22.10.0, Python 3.11.0 (main, Oct 24 2022, 18:26:48) [MSC v.1933 64 bit (AMD64)], pyOpenSSL 23.0.0 (OpenSSL 3.0.7 1 Nov 2022), cryptography 39.0.0, Platform Windows-10-10.0.22621-SP0:Scrapy使用的各种库和框架的版本信息,包括lxml、libxml2、cssselect、parsel、w3lib、Twisted、Python、pyOpenSSL和cryptography,以及运行平台的信息(Windows 10)。

  • INFO: Overridden settings: {'BOT_NAME': 'douban', 'NEWSPIDER_MODULE': 'douban.spiders', 'ROBOTSTXT_OBEY': True, 'SPIDER_MODULES': ['douban.spiders'], 'USER_AGENT': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36'}:覆盖的Scrapy设置信息,包括BOT_NAME、NEWSPIDER_MODULE、ROBOTSTXT_OBEY、SPIDER_MODULES和USER_AGENT等。

  • WARNING: C:\Users\韩东平\PycharmProjects\venv\Lib\site-packages\scrapy\utils\request.py:232: ScrapyDeprecationWarning: '2.6' is a deprecated value for the 'REQUEST_FINGERPRINTER_IMPLEMENTATION' setting. ...:Scrapy的一个警告,指出设置中的REQUEST_FINGERPRINTER_IMPLEMENTATION值为已废弃的值,但该值是默认值,如果没有为该设置定义一个值,那么得到这个警告

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

哈都婆

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

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

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

打赏作者

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

抵扣说明:

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

余额充值