ใช้ Python เพื่อแยกวิเคราะห์และ Pivot SEO ไฟล์

เผยแพร่แล้ว: 2021-08-10

แหล่งข้อมูล ที่ยอดเยี่ยม สำหรับ มืออาชีพด้าน SEO ที่ยอดเยี่ยม คือข้อมูลการรวบรวมข้อมูลของเครื่องมือค้นหาที่พบในไฟล์บันทึก คุณสามารถวิเคราะห์ไฟล์บันทึกเพื่อเรียนรู้ว่าเครื่องมือค้นหารวบรวมข้อมูลและทำความเข้าใจเว็บไซต์ของคุณอย่างไร สิ่งนี้ให้ข้อมูลเชิงลึกแก่คุณว่าไม่มีเครื่องมือ SEO ของบริษัทอื่นที่สามารถทำได้ หากคุณต้องการประหยัดเวลาและค่าใช้จ่าย ให้ลองแยกวิเคราะห์ ตรวจสอบ และเปลี่ยนข้อมูลล็อกไฟล์สำหรับ SEO ด้วย Python โดยอัตโนมัติ ในบทความนี้ เราจะแนะนำคุณเกี่ยวกับขั้นตอนในการแยกวิเคราะห์และแปลงไฟล์ SEO ด้วย Python

วิธีใช้ Python เพื่อแยกวิเคราะห์และ Pivot SEO ไฟล์

เหตุใดจึงควรใช้ Python เพื่อแยกวิเคราะห์และแปลงไฟล์ SEO

Python เป็นภาษาโปรแกรมอเนกประสงค์ ที่มีแอพพลิเคชั่นหลากหลายเมื่อพูดถึงข้อมูล การพัฒนาเว็บ และอัลกอริธึมการเรียกใช้งาน การใช้ Python เพื่อแยกวิเคราะห์และเปลี่ยนข้อมูล SEO ของคุณจากไฟล์บันทึกช่วยให้คุณ:

  • ตรวจสอบข้อสรุปของคุณโดยแสดงหลักฐานที่ชัดเจนว่าเครื่องมือค้นหารวบรวมข้อมูลและเห็นเว็บไซต์ของคุณอย่างไร
  • จัดลำดับความสำคัญของสิ่งที่คุณค้นพบโดยช่วยให้คุณเห็นขนาดของปัญหาและการแก้ไขสามารถช่วยได้มากเพียงใด
  • ค้นหาปัญหาอื่นๆ ที่คุณไม่พบในแหล่งข้อมูลอื่น

แม้ว่าการใช้ข้อมูลล็อกไฟล์จะมีประโยชน์หลายประการ แต่ผู้เชี่ยวชาญด้าน SEO หลายคนก็หลีกเลี่ยงข้อมูลนี้ด้วยเหตุผลหลายประการ ประการหนึ่ง การค้นหาข้อมูลมักหมายถึงการผ่านทีมนักพัฒนา ซึ่งอาจใช้เวลานาน นอกจากนี้ ไฟล์ดิบอาจมีขนาดใหญ่และเข้าใจยาก ซึ่งทำให้แยกวิเคราะห์ข้อมูลได้ยาก สุดท้าย ต้นทุนของเครื่องมือที่ออกแบบมาเพื่อทำให้กระบวนการง่ายขึ้นอาจสูงเกินไป

แม้ว่าสิ่งเหล่านี้เป็นข้อกังวลที่ถูกต้อง แต่ก็มีอีกวิธีหนึ่ง หากคุณมี ความรู้เกี่ยวกับภาษาการเขียนโปรแกรมและการเขียนสคริปต์ คุณสามารถทำให้กระบวนการเป็นแบบอัตโนมัติได้ เราจะแนะนำขั้นตอนต่างๆ เกี่ยวกับวิธีใช้ Python เพื่อวิเคราะห์บันทึกเซิร์ฟเวอร์สำหรับ SEO

วิธีใช้ Python เพื่อแยกวิเคราะห์และ Pivot SEO ไฟล์

ก่อนที่คุณจะเริ่มต้น คุณจะต้องพิจารณาว่าคุณต้องการใช้รูปแบบใดในการแยกวิเคราะห์ข้อมูลไฟล์บันทึก คุณมีหลายตัวเลือก เช่น Apache, Nginx และ IIS นอกจากนี้ เว็บไซต์จำนวนมากใช้ผู้ให้บริการ CDN ในขณะนี้ เช่น Cloudflare, Cloudfront และ Akamai เพื่อให้บริการเนื้อหาจากตำแหน่งขอบที่ใกล้ที่สุดไปยังผู้ใช้

ในบทความนี้ เราจะเน้นที่รูปแบบบันทึกแบบรวม นั่นเป็นเพราะรูปแบบ Combine Log เป็นค่าเริ่มต้นสำหรับ Nginx และโดยทั่วไปแล้วจะเป็นตัวเลือกบนเซิร์ฟเวอร์ Apache

หากคุณไม่ทราบว่าคุณกำลังจัดการกับรูปแบบใด มี บริการอย่าง Builtwith และ Wappalyzer ที่สามารถบอกคุณเกี่ยวกับสแต็คเทคโนโลยีของเว็บไซต์ได้

หากคุณยังไม่แน่ใจ ให้เปิดไฟล์ raw ไฟล์ใดไฟล์หนึ่ง อ้างอิงโยงความคิดเห็นที่ให้ไว้กับข้อมูลในฟิลด์เฉพาะ

คุณจะต้องพิจารณาว่าคุณต้องการรวมเครื่องมือค้นหาใด ในบทความนี้เราจะเน้นใน Google เพราะ Google เป็นเครื่องมือค้นหาที่โดดเด่นที่สุดที่มีมากกว่า 92% ของส่วนแบ่งการตลาดทั่วโลก

ใช้ Python เพื่อแยกวิเคราะห์และ Pivot SEO ไฟล์

1. ระบุไฟล์และกำหนดรูปแบบ

เพื่อที่จะทำการวิเคราะห์ SEO ที่เป็นผลสืบเนื่อง คุณจะต้องมีคำขออย่างน้อยประมาณ 100,000 คำขอ และข้อมูลที่มีค่าระหว่างสองถึงสี่สัปดาห์สำหรับเว็บไซต์ทั่วไป เนื่องจากขนาดของไฟล์ บันทึกจึงมักถูกแบ่งออกเป็นแต่ละวัน คุณมักจะได้รับไฟล์หลายไฟล์เพื่อดำเนินการ

เนื่องจากคุณไม่รู้ว่าจะต้องจัดการกับไฟล์กี่ไฟล์ เว้นแต่คุณจะรวมมันเข้าด้วยกันก่อนที่จะรันสคริปต์ ขั้นตอนแรกคือการสร้างรายการไฟล์ทั้งหมดในโฟลเดอร์ของเราโดยใช้โมดูล glob จากนั้น คุณสามารถส่งคืนไฟล์ใดๆ ที่ตรงกับรูปแบบที่เราระบุ รหัสต่อไปนี้จะตรงกับไฟล์ TXT ใดๆ:

นำเข้า glob

ไฟล์ = glob.glob('*txt.')

อย่างไรก็ตาม ไม่ใช่ทุกไฟล์ที่เป็น TXT ไฟล์บันทึกสามารถมีได้หลายรูปแบบ คุณอาจไม่รู้จักนามสกุลไฟล์ด้วยซ้ำ

นอกจากนี้ยังเป็นไปได้ว่าไฟล์ที่คุณได้รับจะถูกแบ่งออกเป็นหลายโฟลเดอร์ย่อย และเราไม่ต้องการเสียเวลาคัดลอกไฟล์เหล่านั้นไปไว้ในที่เดียว โชคดีที่ glob สนับสนุนทั้งการค้นหา recursive และผู้ประกอบการที่เป็นสัญลักษณ์แทน นั่นหมายความว่าคุณสามารถสร้างรายการไฟล์ทั้งหมดภายในโฟลเดอร์ย่อยหรือโฟลเดอร์ย่อยย่อยได้

ไฟล์ = glob.glob('**/*.*', เรียกซ้ำ=จริง)

ถัดไป คุณต้องการระบุว่าไฟล์ประเภทใดอยู่ในรายการของคุณ ในการทำเช่นนี้ สามารถตรวจพบประเภท MIME ของไฟล์เฉพาะได้ สิ่งนี้จะบอกคุณว่าคุณกำลังจัดการกับไฟล์ประเภทใด ไม่ว่าคุณจะใช้นามสกุลอะไร

คุณสามารถทำได้โดยใช้ python-magic, wrapper รอบไลบรารี libmagic C และสร้างฟังก์ชันอย่างง่าย

pip ติดตั้ง python-magic

pip ติดตั้ง libmagic

นำเข้าเวทย์มนตร์

def file_type(file_path):

mime = magic.from_file(file_path, mime=True)

กลับมาเล่นละครใบ้

ถัดไป คุณสามารถใช้การทำความเข้าใจรายการเพื่อวนรอบไฟล์ของคุณและใช้ฟังก์ชัน สร้างพจนานุกรมเพื่อจัดเก็บทั้งชื่อและประเภท

file_types = [file_type(file) สำหรับไฟล์ในไฟล์]

file_dict = dict(zip(ไฟล์, files_types))

สุดท้าย ใช้ฟังก์ชันและวงในขณะที่เพื่อแยกรายการไฟล์ที่ส่งคืนข้อความ/ข้อความธรรมดาประเภท MIME และไม่รวมสิ่งอื่นใด

ไม่บีบอัด = []

def file_identifier (ไฟล์):

สำหรับคีย์ ค่าใน file_dict.items():

ถ้าไฟล์มีค่า:

uncompressed.append (คีย์)

ในขณะที่ file_identifier('ข้อความ/ธรรมดา'):

file_identifier('ข้อความ/ธรรมดา') ใน file_dict

วิธีแยกวิเคราะห์และแปลงไฟล์บันทึก seo

2. แยกคำขอของเครื่องมือค้นหา

หลังจากกรองไฟล์ในโฟลเดอร์หรือโฟลเดอร์ของคุณแล้ว ขั้นตอนต่อไปคือการกรองไฟล์ด้วยตนเองโดยแยกเฉพาะคำขอที่คุณสนใจเท่านั้น

ซึ่งช่วยลดความจำเป็นในการรวมไฟล์โดยใช้ยูทิลิตี้บรรทัดคำสั่ง เช่น GREP หรือ FINDSTR และช่วยให้คุณประหยัดเวลาในการค้นหาคำสั่งที่ถูกต้อง

ในกรณีนี้ เนื่องจากคุณต้องการเพียงคำขอ Googlebot คุณจะต้องค้นหา “Googlebot” เพื่อจับคู่ตัวแทนผู้ใช้ที่เกี่ยวข้องทั้งหมด

คุณสามารถใช้ฟังก์ชัน open ของ Python เพื่ออ่านและ/หรือเขียนไฟล์และโมดูล regex ของ Python เพื่อทำการค้นหา

3. คำขอแยกวิเคราะห์

คุณสามารถแยกวิเคราะห์คำขอได้หลายวิธี เพื่อประโยชน์ของบทความนี้ เราจะใช้ ตัวแยกวิเคราะห์ CSV ในตัวของ Pandas และฟังก์ชันการประมวลผลข้อมูลพื้นฐานบางอย่างเพื่อ:

  • วางคอลัมน์ที่ไม่จำเป็น
  • จัดรูปแบบการประทับเวลา
  • สร้างคอลัมน์ที่มี URL แบบเต็ม
  • เปลี่ยนชื่อและจัดลำดับคอลัมน์ที่เหลือใหม่

แทนที่จะฮาร์ดโค้ดชื่อโดเมน คุณสามารถใช้ฟังก์ชันอินพุตเพื่อแจ้งผู้ใช้และบันทึกเป็นตัวแปรได้

4. ตรวจสอบคำขอ

การปลอมแปลงตัวแทนผู้ใช้ของเครื่องมือค้นหานั้นง่ายมาก ทำให้การตรวจสอบคำขอเป็นส่วนสำคัญของกระบวนการ ซึ่งทำให้คุณไม่สามารถสรุปข้อสรุปที่ไม่ถูกต้องโดยการวิเคราะห์การรวบรวมข้อมูลของบุคคลที่สามของคุณเอง

ในการดำเนินการนี้ คุณต้องติดตั้งไลบรารีชื่อ dnspython และทำ DNS แบบย้อนกลับ คุณสามารถใช้แพนด้าเพื่อวาง IP ที่ซ้ำกันและเรียกใช้การค้นหาบน DataFrame ที่เล็กกว่า จากนั้น ใช้ผลลัพธ์อีกครั้งและกรองคำขอที่ไม่ถูกต้อง

วิธีนี้ช่วยเพิ่มความเร็วในการค้นหาและตรวจสอบคำขอนับล้านรายการในเวลาเพียงไม่กี่นาที

ทำไมคุณควรใช้ python สำหรับ seo files

5. หมุนข้อมูล

หลังจากตรวจสอบความถูกต้อง คุณมีชุดข้อมูลที่สะอาดและเข้าใจง่าย คุณสามารถเริ่มหมุนข้อมูลนี้เพื่อวิเคราะห์จุดสนใจได้ง่ายขึ้น

คุณสามารถเริ่มต้นด้วยการรวมอย่างง่ายโดยใช้ฟังก์ชัน groupby และ agg ของ Pandas เพื่อดำเนินการนับจำนวนคำขอสำหรับรหัสสถานะต่างๆ

status_code = logs_filtered.groupby('รหัสสถานะ').agg('ขนาด')

ในการทำซ้ำประเภทการนับที่คุณใช้ใน Excel คุณต้องระบุฟังก์ชันรวมของ 'ขนาด' ไม่ใช่ 'นับ' หากคุณใช้การนับ คุณจะเรียกใช้ฟังก์ชันในคอลัมน์ทั้งหมดภายใน DataFrame และค่า Null จะได้รับการจัดการต่างกัน การรีเซ็ตดัชนีจะคืนค่าส่วนหัวของทั้งสองคอลัมน์ และคอลัมน์หลังสามารถเปลี่ยนชื่อเป็นคอลัมน์ที่เกี่ยวข้องมากขึ้นได้

หากคุณต้องการการจัดการข้อมูลขั้นสูงมากขึ้น ตารางเดือยที่ฝังไว้ของ Pandas มีฟังก์ชันการทำงานที่เทียบเท่ากับ Excel ซึ่งทำให้การรวมที่ซับซ้อนเป็นไปได้ด้วยโค้ดเพียงบรรทัดเดียว ในระดับพื้นฐานที่สุด ฟังก์ชันต้องการ DataFrame และดัชนีที่ระบุ (หรือทำดัชนีหากจำเป็นต้องใช้หลายดัชนี) และส่งคืนค่าที่เกี่ยวข้อง

เพื่อความเฉพาะเจาะจงมากขึ้น สามารถประกาศค่าที่ต้องการและการรวม (ผลรวม ค่าเฉลี่ย ฯลฯ) ได้โดยใช้พารามิเตอร์ aggfunc พารามิเตอร์คอลัมน์ยังช่วยให้คุณแสดงค่าในแนวนอนเพื่อให้ได้ผลลัพธ์ที่ชัดเจนยิ่งขึ้น

การรวมช่วง

สำหรับจุดข้อมูล เช่น ไบต์ ซึ่งอาจมีค่าตัวเลขต่างกันมากมาย คุณจะต้องเก็บข้อมูล ในการดำเนินการดังกล่าว ให้กำหนดช่วงเวลาของคุณภายในรายการ จากนั้นใช้ฟังก์ชันตัดเพื่อจัดเรียงค่าลงในถังขยะ โดยระบุ np.inf เพื่อตรวจจับอะไรก็ได้เกี่ยวกับค่าสูงสุดที่ประกาศ

6. ส่งออก

สุดท้าย คุณต้องส่งออกข้อมูลบันทึกและจุดหมุนของคุณ เพื่อให้วิเคราะห์ได้ง่ายขึ้น คุณจะต้องส่งออกข้อมูลของคุณไปยังไฟล์ Excel แทนที่จะเป็น CSV ไฟล์ XLSX รองรับแผ่นงานหลายแผ่น ซึ่งหมายความว่าคุณสามารถรวม DataFrames ทั้งหมดไว้ในไฟล์เดียวได้ คุณสามารถบรรลุสิ่งนี้ได้โดยใช้ excel คุณจะต้องระบุวัตถุ ExcelWriter เนื่องจากคุณกำลังเพิ่มแผ่นงานมากกว่าหนึ่งแผ่นในสมุดงานเดียวกัน นอกจากนี้ เมื่อคุณส่งออก pivot จำนวนมาก จะช่วยให้สิ่งต่าง ๆ ง่ายขึ้นด้วยการจัดเก็บ DataFrames และชื่อชีตในพจนานุกรม และใช้ for loop

โปรดทราบว่าขีดจำกัดแถวของ Excel คือ 1,048,576 เนื่องจากคุณกำลังส่งออกทุกคำขอ การดำเนินการนี้อาจทำให้เกิดปัญหาหากคุณมีตัวอย่างจำนวนมาก ไฟล์ CSV ไม่มีขีดจำกัด ดังนั้นสามารถใช้คำสั่ง if เพื่อเพิ่มในการส่งออก CSV เป็นทางเลือก จากนั้น หากความยาวของไฟล์บันทึก DataFrame มากกว่า 1,048,576 ไฟล์นั้นจะถูกส่งออกเป็น CSV ซึ่งจะป้องกันไม่ให้สคริปต์ล้มเหลวและยังคงรวม pivot ไว้ในการส่งออกครั้งเดียว

วิธีใช้ python สำหรับ SEO

การแยกวิเคราะห์และแปลงไฟล์ SEO ด้วย SEO Design Chicago

แม้ว่าการใช้ Python เพื่อแยกวิเคราะห์และแปลงไฟล์ SEO จะเป็นทักษะที่มีประโยชน์ แต่ก็ยากที่จะเชี่ยวชาญ หากคุณต้องการความช่วยเหลือเกี่ยวกับไฟล์ SEO โปรดติดต่อ ผู้เชี่ยวชาญด้านข้อมูล SEO ที่ SEO Design Chicago วันนี้เพื่อขอความช่วยเหลือ!

คำถามที่พบบ่อย:

  • ไพทอนคืออะไร?
  • ฉันจะใช้ Python เพื่อแยกวิเคราะห์และแปลงไฟล์ SEO ของฉันได้อย่างไร
  • เหตุใดฉันจึงควรใช้ Python เพื่อแยกวิเคราะห์และแปลงไฟล์ SEO ของฉัน
  • ฉันจะแยกคำขอของเครื่องมือค้นหาโดยใช้ Python ได้อย่างไร
  • ฉันจำเป็นต้องรู้วิธีเขียนโค้ดเพื่อแยกวิเคราะห์และแปลงไฟล์ SEO ของฉันอย่างไร