ITNEPPer来てくれ質問がある ID:v2r8hrMv

106以下、名無しにかわりましてVIPがお送りします:2018/12/19(水) 04:10:07.80 ID:v2r8hrMv

なるほどなるほど
参考になる
確かにこれ便利そうだ
利用したいけど、またわからんところがある
<strong style="color:#C84B00;font-size: 16px;">みたいなstrongタグにstyleタグ(?)がある場合うまく取得出来ない
>>105が貼ってくれたサイトの他にここも見た
http://python.zombie-hunting-club.com/entry/2017/11/08/192731
それに倣ってこう書いたんだが
print(soup.find_all('strong style="color:#C84B00;font-size: 16px;"').string)

Traceback (most recent call last):
File "/scraping.py", line 31, in <module>
print(soup.find_all('strong style="color:#C84B00;font-size: 16px;"').string)
File "/anaconda3/lib/python3.7/site-packages/bs4/element.py", line 1884, in __getattr__
"ResultSet object has no attribute '%s'. You're probably treating a list of items like a single item. Did you call find_all() when you meant to call find()?" % key
AttributeError: ResultSet object has no attribute 'string'. You're probably treating a list of items like a single item. Did you call find_all() when you meant to call find()?
Exited with status 1 after 15.916 seconds

ってエラーっすね。。。

107以下、名無しにかわりましてVIPがお送りします:2018/12/19(水) 04:13:48.67 ID:v2r8hrMv

アトリビュートエラーはなんかPCがボケてるだけなんで気にして無いけど
エラー文でググったらこんな内容が出てきた
https://qiita.com/connectcrew-ishii/items/6ad316ea854326c536a6
find_allが入れ子に対応してない?
でことはforループで書くって事だよね(書いてた)

108以下、名無しにかわりましてVIPがお送りします:2018/12/19(水) 04:16:31.99 ID:v2r8hrMv

とはいえこの参考記事は、なんかforのカウンタの対象があるっぽい(newsリストみたいなの)
俺のやつ、そう言うの無いから出来ないんだけど・・・

109以下、名無しにかわりましてVIPがお送りします:2018/12/19(水) 04:23:14.48 ID:v2r8hrMv

パーサー後の情報をprintした
<li><strong style="color:#C84B00;font-size: 16px;">愛犬</strong><br/><div style="font-size: 14px;background-color: #ffcc70;border: thin solid #c36a2e;margin: 10px;padding: 10px;">他人への接し方に何か問題があるようです。身勝手になっていたり、言いなりになっていたりさまざまでしょう。改める点がないか見直す必要があります。しかし、実際の愛犬への愛情や思いが反映される場合もあるので自分なりの解釈が必要です。<br/>
</div></li>

strongタグ+styleで見出しを作っていて、div styleで内容を記載してるから
それを取ってくれば良いみたい
じゃあ<strong style="color:#C84B00;font-size: 16px;">から</strong>まで取れば見出しが出来そうなんだけど
styleが邪魔すぎる、入れ子になってしまう
ちなみにstrongを除いて、styleだけで書いても>>106と同じエラーになる

110以下、名無しにかわりましてVIPがお送りします:2018/12/19(水) 04:28:39.42 ID:v2r8hrMv

自決しました
soup.find_all("a", class_="link", href="/link")
これですねこれこれこれ

111以下、名無しにかわりましてVIPがお送りします:2018/12/19(水) 04:34:07.73 ID:v2r8hrMv

は???無理じゃん!!!!
やっぱり>>107じゃねえか
newslist=soup.find_all('ul', attrs={'class': 'listFeed'})したら
AttributeError: ResultSet object has no attribute 'find_all'.
You're probably treating a list of items like a single item.
Did you call find_all() when you meant to call find()?
ってエラーで
newslist=soup.select(".listFeedWrap")
for news in newslist:
title=news.find(attrs={"class":"titl"}).text -->見出し
link=news.find("a").attrs["href"] -->リンク

ってしてた
結論>>108って事で出来ない

まーーーーた最初に戻った
しかも無駄なトラブルシューティングしてたし萎える

113以下、名無しにかわりましてVIPがお送りします:2018/12/19(水) 22:51:39.26 ID:v2r8hrMv

このサイトの結果内容の中身だけを、タイトルと見出しに分けて取得しようとしてる
http://yume-uranai.jp/keyword.php?keyword=%8C%A2&q=1
ここの65行目から84行目に内容が記載されてる
タイトルも内容もそこだけにしか使われていないタグだから取得できるはずなんだけど
find_allが入れ子構造が出来ない(謎)から取得が出来ないの
タグの中に2つ以上の情報が入ってるから(今回はstrongとstyle)2つで検索しないと無理っぽい


このIDをNGリストに追加する

今後このIDの書き込みやスレッドを表示したくない場合、以下のボタンをクリックしてください。
NGリストに追加

このスレッドは過去ログです。