PDA

View Full Version : سوال: خواندن کاراکترهای صفحه ی وب



mori85
یک شنبه 19 آبان 1392, 15:38 عصر
سلام
با متد urllib2.urlopen().read() یه صفحه باز کردم . حالا میخوام کاراکترهای توشو بخونم.
یعنی به عبارتی می خوام کاراکترهای source page رو بخونم. توی python 2.7.5

n.nowroozi
یک شنبه 19 آبان 1392, 17:30 عصر
import urllib2
response = urllib2.urlopen('http://google.com/ (http://pythonforbeginners.com/)')


html = response.read()
print html

response.close()
خب الان متغیر html حاوی اطلاعات اون صفحست. همون دستوری هم که خودت نوشتی هم همین کار رو انجام میده. اگه منظورت رو درست فهمیده باشم !

mori85
دوشنبه 20 آبان 1392, 12:38 عصر
سلام آقای n.nowroozi ممنون از پاسختون: اول اینکه نمی خوام بعد از خوندن print کنم. اما سوال:
آیا این response به صورت یه فایل ذخیره میشه ؟ اگه آره،با چه پسوندی و کجا ذخیره میشه؟ چون برای کار دیگه ای میخوام کاراکترهای توشو بخونم..
سوالم واضحه؟
بازم ممنون از پاسختون...

mori85
دوشنبه 20 آبان 1392, 12:45 عصر
ببخشید پاسختونو کامل ندیدم :
آیا این html به صورت فایل میشه باهاش برخورد کرد ؟ با چه پسوندی؟
به عبارت دیگه ، آیا تابعی هست که تعداد کاراکترهای یک فایل text رو برگردونه؟

n.nowroozi
دوشنبه 20 آبان 1392, 17:44 عصر
نه جایی ذخیره نمیشه ولی مثل هر داده ای توی پایتون میتونی توی یک فایل ذخیرش کنی یک فایل باز کن و محتویات این متغیر رو ذخیره کن حالا یا متن عادی یا به صورت اچ تی ام ال . فکر کنم بهتره کامل بگی چیکار میخوای انجام بدی که بهتر بشه کمکت کرد.الان نیازه پردازش متن کنی؟ یا چیز خاصی رو از متن میخوای بکشی بیرون ؟

n.nowroozi
دوشنبه 20 آبان 1392, 17:48 عصر
ببخشید پاسختونو کامل ندیدم :
آیا این html به صورت فایل میشه باهاش برخورد کرد ؟ با چه پسوندی؟
به عبارت دیگه ، آیا تابعی هست که تعداد کاراکترهای یک فایل text رو برگردونه؟
اگه منظورت اینه که میتونی بصورت html ذخیرش کنی آره میشه.
برای تعداد کارکتر هم میتونی از تابع len استفاده کنی

mori85
سه شنبه 21 آبان 1392, 12:13 عصر
تابع len آرگومان هایی مثل string, tuple و list میگیره. تابع os.path.getsize() هم یه فایل encode میگیره و حجم فایل رو به بایت بر میگردونه.
می خوام فایل به صورت html یا txt ذخیره بشه که هم بتونم توش جستجو کنم و هم بتونم تعداد کاراکترهاشو بشمرم.
آره تونستم محتویات html رو توی یه فایل txt ذخیره کنم، اما باید قبلش unicode کنم
بازم خیلی ممنون ...:لبخندساده:

mori85
سه شنبه 21 آبان 1392, 12:59 عصر
آقای n.nowroozi ، جواب قسمتی از سوالم رو پیدا کردم. تعداد کاراکترهای موجود در web page ی که میخواهیم باز کنیم رو میشه با تابع urllib2.urlopen().info() در قسمت content-length در آورد.
با تشکر از پی گیری هاتون...

n.nowroozi
سه شنبه 21 آبان 1392, 13:15 عصر
خواهش میکنم دوست عزیز.
اون متغیر html داده اش اگه اشتباه نکنم از نوع رشته هست واسه همین گفتم میتونید با len تعداد کارکترش رو بگیرید
همون فایل text که ساختی میتونی پسوندش رو بدی html تا همون خروجی وب بشه