質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

XPath(XML Path)

XML Path Language (XPath; XMLパス言語)は、マークアップ言語 XML に準拠した文書の特定の部分を指定する言語構文の事をいいます。XPathはXMLとは別の構文を使用します。XMLドキュメントの抽象、論理ストラクチャ上で動作します。

Scrapy

Scrapyは、Pythonで開発されたオープンソースソフトウェアです。スクレイピングという、Webサービスから必要な情報を取り出したり自動操作をしたりする技術を使うものです。

Q&A

0回答

248閲覧

Pythonの別の関数の値渡し

RarigoB

総合スコア26

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

XPath(XML Path)

XML Path Language (XPath; XMLパス言語)は、マークアップ言語 XML に準拠した文書の特定の部分を指定する言語構文の事をいいます。XPathはXMLとは別の構文を使用します。XMLドキュメントの抽象、論理ストラクチャ上で動作します。

Scrapy

Scrapyは、Pythonで開発されたオープンソースソフトウェアです。スクレイピングという、Webサービスから必要な情報を取り出したり自動操作をしたりする技術を使うものです。

0グッド

1クリップ

投稿2018/04/23 06:04

Pythonである関数で取得した文字列を別の関数で解析したいのですがPythonの関数の関数での値渡しの方法がいまいちわかっていないのでご教授していただけると助かります。

環境
python3.5.2

Python

1import scrapy 2import re 3 4from myproject.items import SceduleItem 5 6class TestSpider(scrapy.Spider): 7 name = "test6" 8 allowed_domains = ["*******"] 9 start_urls = ( 10 '*********', 11 ) 12 13 def parse(self, response): 14 for get_box in response.xpath('//div[@class="**********"]'): 15 16 17 def parse_info(self, response,): 18 item = SceduleItem() 19 day = info.xpath('//h3/text()').extract_first().strip() 20 for hall_info in info.xpath('//ul/li/div[@class="************"]'): 21 shop = hall_info.xpath('//div[@class="********"]/div[@class="name"]/a/text()').extract_first().strip() 22 place = hall_info.xpath('//div[@class="********"]/div[@class="area"]/text()').extract_first() 23 cast = hall_info.xpath('//div[@class="********"]/div[@class="text"]/div[@class="syutsuen"]/text()').extract_first() 24 content = hall_info.xpath('//div[@class="********"]/div[@class="text"]/div[@class="bangumi"]/text()').extract_first() 25 item['day'] = day 26 item['place'] = place 27 item['shop'] = shop 28 item['content'] = cast + '' + content 29 yield item 30 31

上記のようなコードで、parse関数でHTML要素からboxを取得し、parse_info関数で、parseで取得したbox内のboxを解析したいのですが、関数同士の値渡しがいまいちよくわからなく、うまくいきません。

実現したいこと
parseで取得したboxを格納したget_boxをparse_infoに値が渡せればいいです。
やり方をおねがいします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問