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值為已廢棄的值,但該值是默認值,如果沒有為該設置定義一個值,那么得到這個警告
總結
以上是生活随笔為你收集整理的scrpy学习-02的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: KBU1010-ASEMI高端适配器扁桥
- 下一篇: Winter is here